aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--utils/TableGen/ClangDiagnosticsEmitter.cpp9
1 files changed, 2 insertions, 7 deletions
diff --git a/utils/TableGen/ClangDiagnosticsEmitter.cpp b/utils/TableGen/ClangDiagnosticsEmitter.cpp
index fb7a1c4d6d..430b4f7a15 100644
--- a/utils/TableGen/ClangDiagnosticsEmitter.cpp
+++ b/utils/TableGen/ClangDiagnosticsEmitter.cpp
@@ -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";
}