From ee030d237c5e1add75c7ae44a185f26bdfd4848a Mon Sep 17 00:00:00 2001 From: Sam Delmerico Date: Thu, 10 Nov 2022 14:33:40 -0500 Subject: [PATCH] export clang-tidy extraArgFlags to Bazel We want to keep these flags in sync between Soong and Bazel, so we need to export it to a variable that Bazel can read. Test: CI Bug: 255750565 Change-Id: Idf019fa6a85d2d6bb2341b6cb989a48e9ef27d2e --- cc/config/tidy.go | 21 +++++++++++++++++++++ cc/tidy.go | 14 +------------- 2 files changed, 22 insertions(+), 13 deletions(-) diff --git a/cc/config/tidy.go b/cc/config/tidy.go index f32ebf25b..1180da40a 100644 --- a/cc/config/tidy.go +++ b/cc/config/tidy.go @@ -55,6 +55,21 @@ var ( // http://b/241819232 "-misc-const-correctness", } + + extraArgFlags = []string{ + // We might be using the static analyzer through clang tidy. + // https://bugs.llvm.org/show_bug.cgi?id=32914 + "-D__clang_analyzer__", + + // A recent change in clang-tidy (r328258) enabled destructor inlining, which + // appears to cause a number of false positives. Until that's resolved, this turns + // off the effects of r328258. + // https://bugs.llvm.org/show_bug.cgi?id=37459 + "-Xclang", + "-analyzer-config", + "-Xclang", + "c++-temp-dtor-inlining=false", + } ) func init() { @@ -145,6 +160,8 @@ func init() { return strings.Join(globalNoErrorCheckList, ",") }) + exportedVars.ExportStringListStaticVariable("TidyExtraArgFlags", extraArgFlags) + // To reduce duplicate warnings from the same header files, // header-filter will contain only the module directory and // those specified by DEFAULT_TIDY_HEADER_DIRS. @@ -235,6 +252,10 @@ func TidyGlobalNoErrorChecks() string { return "" } +func TidyExtraArgFlags() []string { + return extraArgFlags +} + func TidyFlagsForSrcFile(srcFile android.Path, flags string) string { // Disable clang-analyzer-* checks globally for generated source files // because some of them are too huge. Local .bp files can add wanted diff --git a/cc/tidy.go b/cc/tidy.go index a3d548bb6..bbcaece24 100644 --- a/cc/tidy.go +++ b/cc/tidy.go @@ -136,19 +136,7 @@ func (tidy *tidyFeature) flags(ctx ModuleContext, flags Flags) Flags { flags.TidyFlags = append(flags.TidyFlags, "-extra-arg-before=-fno-caret-diagnostics") } - extraArgFlags := []string{ - // We might be using the static analyzer through clang tidy. - // https://bugs.llvm.org/show_bug.cgi?id=32914 - "-D__clang_analyzer__", - - // A recent change in clang-tidy (r328258) enabled destructor inlining, which - // appears to cause a number of false positives. Until that's resolved, this turns - // off the effects of r328258. - // https://bugs.llvm.org/show_bug.cgi?id=37459 - "-Xclang", "-analyzer-config", "-Xclang", "c++-temp-dtor-inlining=false", - } - - for _, f := range extraArgFlags { + for _, f := range config.TidyExtraArgFlags() { flags.TidyFlags = append(flags.TidyFlags, "-extra-arg-before="+f) }