summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xclang/tools/scan-build/scan-build19
1 files changed, 19 insertions, 0 deletions
diff --git a/clang/tools/scan-build/scan-build b/clang/tools/scan-build/scan-build
index 803c0735110..22d5289586a 100755
--- a/clang/tools/scan-build/scan-build
+++ b/clang/tools/scan-build/scan-build
@@ -896,6 +896,9 @@ sub SetEnv {
}
}
+# The flag corresponding to the --override-compiler command line option.
+my $OverrideCompiler = 0;
+
sub RunXcodebuild {
my $Args = shift;
my $IgnoreErrors = shift;
@@ -928,6 +931,12 @@ sub RunXcodebuild {
}
close(DETECT_XCODE);
+ # If --override-compiler is explicitely requested, resort to the old
+ # behavior regardless of Xcode version.
+ if ($OverrideCompiler) {
+ $oldBehavior = 1;
+ }
+
if ($oldBehavior == 0) {
my $OutputDir = $Options->{"OUTPUT_DIR"};
my $CLANG = $Options->{"CLANG"};
@@ -1143,6 +1152,10 @@ ADVANCED OPTIONS:
Don't remove the build results directory even if no issues were reported.
+ --override-compiler
+ Always resort to the ccc-analyzer even when better interposition methods
+ are available.
+
CONTROLLING CHECKERS:
A default group of checkers are always run unless explicitly disabled.
@@ -1506,6 +1519,12 @@ while (@ARGV) {
$KeepEmpty = 1;
next;
}
+
+ if ($arg eq "--override-compiler") {
+ shift @ARGV;
+ $OverrideCompiler = 1;
+ next;
+ }
DieDiag("unrecognized option '$arg'\n") if ($arg =~ /^-/);
OpenPOWER on IntegriCloud