]> granicus.if.org Git - clang/commitdiff
Handle "Macro" PathDiagnosticPiece kind when getting string identifier.
authorTed Kremenek <kremenek@apple.com>
Tue, 10 Mar 2009 02:49:29 +0000 (02:49 +0000)
committerTed Kremenek <kremenek@apple.com>
Tue, 10 Mar 2009 02:49:29 +0000 (02:49 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66518 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Frontend/HTMLDiagnostics.cpp
lib/Frontend/PlistDiagnostics.cpp

index 5fa5ab7f50c43a3c7731453568ffb958d595dacd..02b327db2ad15bad9b39dab8401cf348ebc36d1b 100644 (file)
@@ -159,8 +159,7 @@ void HTMLDiagnostics::ReportDiag(const PathDiagnostic& D) {
   // Create a new rewriter to generate HTML.
   Rewriter R(SMgr);
   
-  // Process the path.
-  
+  // Process the path.  
   unsigned n = D.size();
   unsigned max = n;
   
@@ -376,7 +375,7 @@ void HTMLDiagnostics::HandlePiece(Rewriter& R, FileID BugFileID,
       switch (*I) {
         default:
           ++cnt;
-          continue;          
+          continue;    
         case ' ':
         case '\t':
         case '\n':
@@ -410,9 +409,9 @@ void HTMLDiagnostics::HandlePiece(Rewriter& R, FileID BugFileID,
     // Now generate the message bubble. 
     const char *Kind = 0;
     switch (P.getKind()) {
-      default: break;
       case PathDiagnosticPiece::Event:  Kind = "Event"; break;
       case PathDiagnosticPiece::ControlFlow: Kind = "Control"; break;
+      case PathDiagnosticPiece::Macro: Kind = "Macro"; break;
     }
     
     std::string sbuf;
index c40794cef75599a73aa0a456b4dd1fb483dee4d0..afd8b26e5f210daabf94418d6ee6ff4211bad8ee 100644 (file)
@@ -136,10 +136,14 @@ static void ReportDiag(llvm::raw_ostream& o, const PathDiagnosticPiece& P,
 #endif
   // Output the PathDiagnosticPiece::Kind.
   Indent(o, indent) << "<key>kind</key>\n";
-  Indent(o, indent) << "<string>"
-    << (P.getKind() == PathDiagnosticPiece::Event 
-        ? "Event" : "ControlFlow")
-    << "</string>\n";
+  Indent(o, indent) << "<string>";
+  
+  switch (P.getKind()) {
+    case PathDiagnosticPiece::Event: o << "Event"; break;
+    case PathDiagnosticPiece::ControlFlow: o << "ControlFlow"; break;
+    case PathDiagnosticPiece::Macro: o << "Macro"; break;
+  }
+  o << "</string>\n";
   
   
   // Finish up.