diff options
-rw-r--r-- | utils/TableGen/ClangDiagnosticsEmitter.cpp | 3 |
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; |