soong: add __clang_analyzer__ to clang-tidy
We have code that acts slightly differently when the static analyzer is
running, so that it can produce more accurate diagnostics (e.g. less
false positives). It uses __clang_analyzer__ to detect the static
analyzer.
When the static analyzer is run via clang-tidy, __clang_analyzer__
doesn't get defined.
Bug: None
Test: WITH_TIDY=1 m. clang-tidy now acts as expected in code made for
the static analyzer
Change-Id: I460ff410640524633c0a60b71d34927d17e1ed98
diff --git a/cc/tidy.go b/cc/tidy.go
index 9dcc946..c31f5ae 100644
--- a/cc/tidy.go
+++ b/cc/tidy.go
@@ -77,6 +77,10 @@
flags.TidyFlags = append(flags.TidyFlags, headerFilter)
}
+ // We might be using the static analyzer through clang tidy.
+ // https://bugs.llvm.org/show_bug.cgi?id=32914
+ flags.TidyFlags = append(flags.TidyFlags, "-extra-arg-before=-D__clang_analyzer__")
+
tidyChecks := "-checks="
if checks := ctx.AConfig().TidyChecks(); len(checks) > 0 {
tidyChecks += checks