Static Analyzer driver/options (partial) cleanup:
- Move all analyzer options logic to AnalysisConsumer.cpp.
- Unified specification of stores/constraints/output to be:
-analyzer-output=...
-analyzer-store=...
-analyzer-constraints=...
instead of -analyzer-range-constraints, -analyzer-store-basic, etc.
- Updated drivers (ccc-analyzer, scan-builds, new ccc) to obey this new
interface
- Updated test cases to conform to new driver options
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64737 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/utils/ccc-analyzer b/utils/ccc-analyzer
index 2a9a993..d9d4f1c 100755
--- a/utils/ccc-analyzer
+++ b/utils/ccc-analyzer
@@ -267,9 +267,15 @@
# Get the store model.
my $StoreModel = $ENV{'CCC_ANALYZER_STORE_MODEL'};
+if (!defined $StoreModel) { $StoreModel = "basic"; }
+
+# Get the constraints engine.
+my $ConstraintsModel = $ENV{'CCC_ANALYZER_CONSTRAINTS_MODEL'};
+if (!defined $ConstraintsModel) { $ConstraintsModel = "basic"; }
# Get the output format.
my $OutputFormat = $ENV{'CCC_ANALYZER_OUTPUT_FORMAT'};
+if (!defined OutputFormat) { $OutputFormat = "html"; }
# Determine the level of verbosity.
my $Verbose = 0;
@@ -447,11 +453,15 @@
}
if (defined $StoreModel) {
- push @AnalyzeArgs, $StoreModel;
+ push @AnalyzeArgs, "-analyzer-store=$StoreModel";
}
-
+
+ if (defined $ConstraintsModel) {
+ push @AnalyzeArgs, "-analyzer-constraints=$ConstraintsModel";
+ }
+
if (defined $OutputFormat) {
- push @AnalyzeArgs, "-analyzer-output-" . $OutputFormat;
+ push @AnalyzeArgs, "-analyzer-output=" . $OutputFormat;
if ($OutputFormat eq "plist") {
# Change "Output" to be a file.
my ($h, $f) = tempfile("report-XXXXXX", SUFFIX => ".plist",
@@ -459,7 +469,6 @@
$ResultFile = $f;
$CleanupFile = $f;
}
-
}
push @AnalyzeArgs,@CompileOpts;