diff options
-rw-r--r-- | clang/utils/TableGen/ClangAttrEmitter.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/clang/utils/TableGen/ClangAttrEmitter.cpp b/clang/utils/TableGen/ClangAttrEmitter.cpp index 672589c0b48..7ac14ba915b 100644 --- a/clang/utils/TableGen/ClangAttrEmitter.cpp +++ b/clang/utils/TableGen/ClangAttrEmitter.cpp @@ -2088,10 +2088,11 @@ static std::string GenerateCustomAppertainsTo(const Record &Subject, } OS << "static bool " << FnName << "(const Decl *D) {\n"; - OS << " const " << GetSubjectWithSuffix(Base) << " *S = dyn_cast<"; + OS << " if (const " << GetSubjectWithSuffix(Base) << " *S = dyn_cast<"; OS << GetSubjectWithSuffix(Base); - OS << ">(D);\n"; - OS << " return S && " << Subject.getValueAsString("CheckCode") << ";\n"; + OS << ">(D))\n"; + OS << " return " << Subject.getValueAsString("CheckCode") << ";\n"; + OS << " return false;\n"; OS << "}\n\n"; CustomSubjectSet.insert(FnName); |