[cfe-commits] r54931 - in /cfe/trunk/utils: ccc-analyzer scan-build

Ted Kremenek kremenek at apple.com
Mon Aug 18 11:38:30 PDT 2008


Author: kremenek
Date: Mon Aug 18 13:38:29 2008
New Revision: 54931

URL: http://llvm.org/viewvc/llvm-project?rev=54931&view=rev
Log:
scan-build/ccc-analyzer now also report clang parser failures.

Modified:
    cfe/trunk/utils/ccc-analyzer
    cfe/trunk/utils/scan-build

Modified: cfe/trunk/utils/ccc-analyzer
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/utils/ccc-analyzer?rev=54931&r1=54930&r2=54931&view=diff

==============================================================================
--- cfe/trunk/utils/ccc-analyzer (original)
+++ cfe/trunk/utils/ccc-analyzer Mon Aug 18 13:38:29 2008
@@ -28,18 +28,19 @@
   return ".i";
 }
 
-sub ProcessClangCrash {
-  my ($Clang, $Lang, $file, $Args, $HtmlDir) = @_;
+sub ProcessClangFailure {
+  my ($Lang, $file, $Args, $HtmlDir, $ErrorType) = @_;
   my $Dir = "$HtmlDir/crashes";
   mkpath $Dir;
   my ($PPH, $PPFile) = tempfile("clang_crash_XXXXXX",
                                   SUFFIX => GetPPExt($Lang),
                                   DIR => $Dir);
 
-  system $Clang, @$Args, "-E", "-o", $PPFile;  
+  system "gcc", @$Args, "-E", "-o", $PPFile;  
   close ($PPH);
   open (OUT, ">", "$PPFile.info") or die "Cannot open $PPFile.info\n";
-  print OUT "$file";
+  print OUT "$file\n";
+  print OUT "$ErrorType\n";
   close OUT;
 }
 
@@ -52,7 +53,7 @@
 
   # Skip anything related to C++.
   return if ($Lang =~ /c[+][+]/);
-  
+
   my $RunAnalyzer = 0;
   my $Cmd;
   my @CmdArgs;
@@ -105,7 +106,12 @@
 
    # Did the command die because of a signal?
    if ($? & 127 and $Cmd eq $Clang and defined $HtmlDir) {
-     ProcessClangCrash($Clang, $Lang, $file, \@CmdArgsSansAnalyses, $HtmlDir);
+     ProcessClangFailure($Lang, $file, \@CmdArgsSansAnalyses, $HtmlDir,
+                          "Crash");
+   }
+   elsif ($?) {
+     ProcessClangFailure($Lang, $file, \@CmdArgsSansAnalyses, $HtmlDir,
+                          "Parser Rejects");
    }
 }
 

Modified: cfe/trunk/utils/scan-build
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/utils/scan-build?rev=54931&r1=54930&r2=54931&view=diff

==============================================================================
--- cfe/trunk/utils/scan-build (original)
+++ cfe/trunk/utils/scan-build Mon Aug 18 13:38:29 2008
@@ -567,12 +567,12 @@
 
     if (scalar(@files)) {
       print OUT <<ENDTEXT;
-<h3>Analyzer Crashes</h3>
+<h3>Analyzer Failures</h3>
 
-<p>The analyzer crashed while processing the following files:</p>
+<p>The analyzer had problems processing the following files:</p>
 
 <table>
-<thead><tr><td>Source File</td><td>Preprocessed File</td></tr></thead>
+<thead><tr><td>Problem</td><td>Source File</td><td>Preprocessed File</td></tr></thead>
 ENDTEXT
   
       foreach my $file (sort @files) {
@@ -583,9 +583,12 @@
         open (INFO, "$Dir/crashes/$file") or
           die "Cannot open $Dir/crashes/$file\n";
         my $srcfile = <INFO>;
+        chomp $srcfile;
+        my $problem = <INFO>;
+        chomp $problem;
         close (INFO);
         # Print the information in the table.
-        print OUT "<tr><td>$srcfile</td><td class=\"View\"><a href=\"crashes/$ppfile\">View</a></td></tr>\n";
+        print OUT "<tr><td>$problem</td><td>$srcfile</td><td class=\"View\"><a href=\"crashes/$ppfile\">View</a></td></tr>\n";
       }
 
       print OUT <<ENDTEXT;





More information about the cfe-commits mailing list