aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--utils/TableGen/ClangDiagnosticsEmitter.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/utils/TableGen/ClangDiagnosticsEmitter.cpp b/utils/TableGen/ClangDiagnosticsEmitter.cpp
index cb65cea31a..0f93a4fb10 100644
--- a/utils/TableGen/ClangDiagnosticsEmitter.cpp
+++ b/utils/TableGen/ClangDiagnosticsEmitter.cpp
@@ -43,7 +43,8 @@ static const RecordVal* findRecordVal(const Record& R, const std::string &key) {
static const Record* getDiagKind(const Record* DiagClass, const Record &R) {
const SuperClassVector &SC = R.getSuperClasses();
for (SuperClassVector::const_iterator I=SC.begin(), E=SC.end(); I!=E; ++I)
- if ((*I)->isSubClassOf(DiagClass))
+ if ((*I)->isSubClassOf(DiagClass) &&
+ (*I)->getName() != "DiagnosticControlled")
return *I;
return 0;