include the default mapping in the clang diagnostic .inc files.
authorChris Lattner <sabre@nondot.org>
Wed, 15 Apr 2009 16:43:18 +0000 (16:43 +0000)
committerChris Lattner <sabre@nondot.org>
Wed, 15 Apr 2009 16:43:18 +0000 (16:43 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69173 91177308-0d34-0410-b5e6-96231b3b80d8

utils/TableGen/ClangDiagnosticsEmitter.cpp

index fb7a1c4d6da51bdde272a3512bd1abbf33057f4a..430b4f7a15ec685f96f2390074acd4ca9643cd6b 100644 (file)
@@ -69,20 +69,15 @@ static void EmitAllCaps(std::ostream& OS, const std::string &s) {
 
 static void ProcessDiag(std::ostream &OS, const Record *DiagClass,
                         const Record &R) {
-
   const Record* DiagKind = getDiagKind(DiagClass, R);
   if (!DiagKind)
     return;
 
   OS << "DIAG(" << R.getName() << ", ";
   EmitAllCaps(OS, DiagKind->getName());
-  
-  const RecordVal* Text = findRecordVal(R, "Text");
-  assert(Text && "No 'Text' entry in Diagnostic.");
-  const StringInit* TextVal = dynamic_cast<const StringInit*>(Text->getValue());
-  assert(TextVal && "Value 'Text' must be a string.");
+  OS << ", diag::" << R.getValueAsDef("DefaultMapping")->getName();
   OS << ", \"";
-  EmitEscaped(OS, TextVal->getValue());
+  EmitEscaped(OS, R.getValueAsString("Text"));
   OS << "\")\n";
 }