diff options
Diffstat (limited to 'chromium/build/config/clang/BUILD.gn')
-rw-r--r-- | chromium/build/config/clang/BUILD.gn | 40 |
1 files changed, 31 insertions, 9 deletions
diff --git a/chromium/build/config/clang/BUILD.gn b/chromium/build/config/clang/BUILD.gn index d083e86c11b..00fb9e066c9 100644 --- a/chromium/build/config/clang/BUILD.gn +++ b/chromium/build/config/clang/BUILD.gn @@ -2,17 +2,39 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("clang.gni") + config("find_bad_constructs") { - cflags = [ - "-Xclang", "-load", - "-Xclang", + if (clang_use_chrome_plugins) { + cflags = [ + "-Xclang", "-load", + "-Xclang", + ] + + if (is_mac || is_ios) { + cflags += [ rebase_path( + "//third_party/llvm-build/Release+Asserts/lib/libFindBadConstructs.dylib", + root_build_dir) ] + } else if (is_linux) { + cflags += [ rebase_path( + "//third_party/llvm-build/Release+Asserts/lib/libFindBadConstructs.so", + root_build_dir) ] + } - # TODO(brettw) express this in terms of a relative dir from the output. - # for now, assume the output dir is two levels deep under the source - # (like "out/Debug"). - "../../third_party/llvm-build/Release+Asserts/lib/libFindBadConstructs.dylib", + cflags += [ + "-Xclang", "-add-plugin", + "-Xclang", "find-bad-constructs", + ] + } +} + +# Enables some extra Clang-specific warnings. Some third-party code won't +# compile with these so may want to remove this config. +config("extra_warnings") { + cflags = [ + "-Wheader-hygiene", - "-Xclang", "-add-plugin", - "-Xclang", "find-bad-constructs", + # Warns when a const char[] is converted to bool. + "-Wstring-conversion", ] } |