summaryrefslogtreecommitdiffstats
path: root/chromium/build/config/clang/BUILD.gn
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/build/config/clang/BUILD.gn')
-rw-r--r--chromium/build/config/clang/BUILD.gn40
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",
]
}