Provide options to explicitly enable/disable checkers in scan-build.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129393 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Ted Kremenek 2011-04-12 21:47:00 +00:00
Родитель ea8b01eb84
Коммит 09fbf297da
2 изменённых файлов: 22 добавлений и 4 удалений

Просмотреть файл

@ -619,9 +619,9 @@ if ($Action eq 'compile' or $Action eq 'link') {
push @AnalyzeArgs, "-analyzer-constraints=$ConstraintsModel";
}
# if (defined $Analyses) {
# push @AnalyzeArgs, split '\s+', $Analyses;
# }
if (defined $Analyses) {
push @AnalyzeArgs, split '\s+', $Analyses;
}
if (defined $OutputFormat) {
push @AnalyzeArgs, "-analyzer-output=" . $OutputFormat;

Просмотреть файл

@ -1001,8 +1001,16 @@ ADVANCED OPTIONS:
-stats - Generates visitation statistics for the project being analyzed.
-maxloop N - specifiy the number of times a block can be visited before giving
up. Default is 3. Increase for more comprehensive coverage at a
up. Default is 4. Increase for more comprehensive coverage at a
cost of speed.
CONTROLLING CHECKERS:
A default group of checkers are always run unless explicitly disabled.
Checkers may be enabled/disabled using the following options:
-enable-checker [checker name]
-disable-checker [checker name]
ENDTEXT
# Query clang for list of checkers that are enabled.
@ -1305,6 +1313,16 @@ while (@ARGV) {
$MaxLoop = shift @ARGV;
next;
}
if ($arg eq "-enable-checker") {
shift @ARGV;
push @AnalysesToRun, "-analyzer-checker", shift @ARGV;
next;
}
if ($arg eq "-disable-checker") {
shift @ARGV;
push @AnalysesToRun, "-analyzer-disable-checker", shift @ARGV;
next;
}
DieDiag("unrecognized option '$arg'\n") if ($arg =~ /^-/);