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