| Index: build/config/clang/BUILD.gn
|
| diff --git a/build/config/clang/BUILD.gn b/build/config/clang/BUILD.gn
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..6dff4863a5e93603a89a1fce1972bb8f1e70d828
|
| --- /dev/null
|
| +++ b/build/config/clang/BUILD.gn
|
| @@ -0,0 +1,62 @@
|
| +# Copyright (c) 2013 The Chromium Authors. All rights reserved.
|
| +# 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") {
|
| + if (clang_use_chrome_plugins) {
|
| + cflags = []
|
| +
|
| + # On Windows, the plugin is built directly into clang, so there's
|
| + # no need to load it dynamically.
|
| +
|
| + if (is_mac || is_ios) {
|
| + cflags += [
|
| + "-Xclang",
|
| + "-load",
|
| + "-Xclang",
|
| + rebase_path(
|
| + "//third_party/llvm-build/Release+Asserts/lib/libFindBadConstructs.dylib",
|
| + root_build_dir),
|
| + ]
|
| + } else if (is_linux) {
|
| + cflags += [
|
| + "-Xclang",
|
| + "-load",
|
| + "-Xclang",
|
| + rebase_path(
|
| + "//third_party/llvm-build/Release+Asserts/lib/libFindBadConstructs.so",
|
| + root_build_dir),
|
| + ]
|
| + }
|
| +
|
| + # https://crbug.com/441916
|
| + if (is_android || is_linux || is_mac) {
|
| + cflags += [
|
| + "-Xclang",
|
| + "-plugin-arg-find-bad-constructs",
|
| + "-Xclang",
|
| + "check-templates",
|
| + ]
|
| + }
|
| +
|
| + 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",
|
| +
|
| + # Warns when a const char[] is converted to bool.
|
| + "-Wstring-conversion",
|
| + ]
|
| +}
|
|
|