summaryrefslogtreecommitdiffstats
path: root/clang/utils/TableGen/ClangAttrEmitter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang/utils/TableGen/ClangAttrEmitter.cpp')
-rw-r--r--clang/utils/TableGen/ClangAttrEmitter.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/clang/utils/TableGen/ClangAttrEmitter.cpp b/clang/utils/TableGen/ClangAttrEmitter.cpp
index 6b3df825808..0426ecb34c8 100644
--- a/clang/utils/TableGen/ClangAttrEmitter.cpp
+++ b/clang/utils/TableGen/ClangAttrEmitter.cpp
@@ -3274,11 +3274,15 @@ static std::string GenerateCustomAppertainsTo(const Record &Subject,
return "";
}
+ const StringRef CheckCodeValue = Subject.getValueAsString("CheckCode");
+
OS << "static bool " << FnName << "(const Decl *D) {\n";
- OS << " if (const auto *S = dyn_cast<";
- OS << GetSubjectWithSuffix(Base);
- OS << ">(D))\n";
- OS << " return " << Subject.getValueAsString("CheckCode") << ";\n";
+ if (CheckCodeValue != "false") {
+ OS << " if (const auto *S = dyn_cast<";
+ OS << GetSubjectWithSuffix(Base);
+ OS << ">(D))\n";
+ OS << " return " << Subject.getValueAsString("CheckCode") << ";\n";
+ }
OS << " return false;\n";
OS << "}\n\n";
OpenPOWER on IntegriCloud