diff --git a/clang/lib/Parse/ParsePragma.cpp b/clang/lib/Parse/ParsePragma.cpp index aa915fa3ba1c..abddb6ba6704 100644 --- a/clang/lib/Parse/ParsePragma.cpp +++ b/clang/lib/Parse/ParsePragma.cpp @@ -1014,6 +1014,8 @@ static bool isAbstractAttrMatcherRule(attr::SubjectMatchRule Rule) { return IsAbstract; #include "clang/Basic/AttrSubMatchRulesList.inc" } + llvm_unreachable("Invalid attribute subject match rule"); + return false; } static void diagnoseExpectedAttributeSubjectSubRule( diff --git a/clang/utils/TableGen/ClangAttrEmitter.cpp b/clang/utils/TableGen/ClangAttrEmitter.cpp index 7aa8bdc781e8..65dbccde62c3 100644 --- a/clang/utils/TableGen/ClangAttrEmitter.cpp +++ b/clang/utils/TableGen/ClangAttrEmitter.cpp @@ -3168,7 +3168,7 @@ emitAttributeMatchRules(PragmaClangAttributeSupport &PragmaAttributeSupport, OS << ";\n"; } OS << " }\n"; - OS << " llvm_unreachable(\"Invalid match rule\");\n"; + OS << " llvm_unreachable(\"Invalid match rule\");\nreturn false;\n"; OS << "}\n\n"; }