diff options
author | Ted Kremenek <kremenek@apple.com> | 2009-02-17 04:27:41 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2009-02-17 04:27:41 +0000 |
commit | be1fe1eb12a1cb91c8e3a9fcc2db4dfe989def6c (patch) | |
tree | 8622aef537c73c734dd3ecb08c70f5b8ac1a9ed4 /utils/scan-build | |
parent | 9add31798f621f843233dbff8bba103fca64447b (diff) |
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
Diffstat (limited to 'utils/scan-build')
-rwxr-xr-x | utils/scan-build | 28 |
1 files changed, 22 insertions, 6 deletions
diff --git a/utils/scan-build b/utils/scan-build index 39b9ede939..bc690d5768 100755 --- a/utils/scan-build +++ b/utils/scan-build @@ -850,11 +850,6 @@ OPTIONS: -analyze-headers - Also analyze functions in #included files. - -store [model] - Specify the store model used by the analyzer. By default, - the 'basic' store model is used. 'region' specifies a field- - sensitive store model. Be warned that the 'region' model - is still in very early testing phase and may often crash. - -o - Target directory for HTML report files. Subdirectories will be created as needed to represent separate "runs" of the analyzer. If this option is not specified, a directory @@ -893,6 +888,16 @@ OPTIONS: -V - View analysis results in a web browser when the build --view completes. +ADVANCED OPTIONS: + + -constraints [model] - Specify the contraint model used by the analyzer. + By default the 'basic' model is used. 'range' adds + experimental range tracking for program values. + + -store [model] - Specify the store model used by the analyzer. By default, + the 'basic' store model is used. 'region' specifies a field- + sensitive store model. Be warned that the 'region' model + is still in very early testing phase and may often crash. AVAILABLE ANALYSES (multiple analyses may be specified): @@ -966,6 +971,7 @@ my $ViewResults = 0; # View results when the build terminates. my $ExitStatusFoundBugs = 0; # Exit status reflects whether bugs were found my @AnalysesToRun; my $StoreModel; +my $ConstraintsModel; my $OutputFormat; if (!@ARGV) { @@ -1082,7 +1088,13 @@ while (@ARGV) { if ($arg eq "-store") { shift @ARGV; - $StoreModel = '-analyzer-store-' . shift @ARGV; + $StoreModel = shift @ARGV; + next; + } + + if ($arg eq "-constraints") { + shift @ARGV; + $ConstraintsModel = shift @ARGV; next; } @@ -1159,6 +1171,10 @@ if (defined $StoreModel) { $ENV{'CCC_ANALYZER_STORE_MODEL'} = $StoreModel; } +if (defined $ConstraintsModel) { + $ENV{'CCC_ANALYZER_CONSTRAINTS_MODEL'} = $ConstraintsModel; +} + if (defined $OutputFormat) { $ENV{'CCC_ANALYZER_OUTPUT_FORMAT'} = $OutputFormat; } |