]> granicus.if.org Git - clang/commitdiff
Provide options to explicitly enable/disable checkers in scan-build.
authorTed Kremenek <kremenek@apple.com>
Tue, 12 Apr 2011 21:47:00 +0000 (21:47 +0000)
committerTed Kremenek <kremenek@apple.com>
Tue, 12 Apr 2011 21:47:00 +0000 (21:47 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129393 91177308-0d34-0410-b5e6-96231b3b80d8

tools/scan-build/ccc-analyzer
tools/scan-build/scan-build

index 6f6d3cf1a737f7d177a2fba7fb0033534b5f64be..0649a97def928a2be8f333da0b89b1ab362dbbca 100755 (executable)
@@ -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;
index 8068d5c171411cfe8642a970a5fc30f9461e727f..86c1744558c5211c985dc748569d3e23f5cdd471 100755 (executable)
@@ -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 =~ /^-/);