[analyzer] Teach scan-build how to pass -analyzer-config to xcodebuild.

The scan-build tool assists various build systems with applying the Clang
static analyzer alongside compilation. It offers explicit integration with
Xcode's native build system aka `xcodebuild`; in this case it doesn't
substitute the compiler, but instead kindly asks xcodebuild to enable
the static analyzer, something that it already knows how to do.

Make sure scan-build's `-analyzer-config` flag (which translates to a
similar `clang -cc1 -analyzer-config` flag) is properly translated
to Xcode build system. This unbreaks a few related features such as
checker silencing.

No LIT tests because they'd require an Xcode installation on your system.
This commit is contained in:
Artem Dergachev 2023-03-28 14:20:33 -07:00
parent 90b4d1bcb2
commit 9f15f1f0f3

View File

@ -1037,7 +1037,8 @@ sub RunXcodebuild {
if ($oldBehavior == 0) {
my $OutputDir = $EnvVars->{"OUTPUT_DIR"};
my $CLANG = $EnvVars->{"CLANG"};
my $OtherFlags = $EnvVars->{"CCC_ANALYZER_ANALYSIS"};
my $OtherFlags = $EnvVars->{"CCC_ANALYZER_ANALYSIS"} . " "
. $EnvVars->{"CCC_ANALYZER_CONFIG"};
push @$Args,
"RUN_CLANG_STATIC_ANALYZER=YES",
"CLANG_ANALYZER_OUTPUT=plist-html",