wanders created this revision. wanders added a reviewer: aaron.ballman. Herald added a subscriber: jdoerfert. Herald added a project: All. wanders requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits.
This makes it easier to add additional handling when the tablegen-generated code does not find a match. No functional change intended. Depends on D144403 <https://reviews.llvm.org/D144403> Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D144404 Files: clang/lib/Basic/Attributes.cpp Index: clang/lib/Basic/Attributes.cpp =================================================================== --- clang/lib/Basic/Attributes.cpp +++ clang/lib/Basic/Attributes.cpp @@ -4,6 +4,15 @@ #include "clang/Basic/IdentifierTable.h" using namespace clang; +static int hasAttributeImpl(AttributeCommonInfo::Syntax Syntax, StringRef Name, + StringRef ScopeName, const TargetInfo &Target, + const LangOptions &LangOpts) { + +#include "clang/Basic/AttrHasAttributeImpl.inc" + + return 0; +} + int clang::hasAttribute(AttributeCommonInfo::Syntax Syntax, const IdentifierInfo *Scope, const IdentifierInfo *Attr, const TargetInfo &Target, const LangOptions &LangOpts) { @@ -27,7 +36,9 @@ ScopeName == "omp") return (Name == "directive" || Name == "sequence") ? 1 : 0; -#include "clang/Basic/AttrHasAttributeImpl.inc" + int res = hasAttributeImpl(Syntax, Name, ScopeName, Target, LangOpts); + if (res) + return res; return 0; }
Index: clang/lib/Basic/Attributes.cpp =================================================================== --- clang/lib/Basic/Attributes.cpp +++ clang/lib/Basic/Attributes.cpp @@ -4,6 +4,15 @@ #include "clang/Basic/IdentifierTable.h" using namespace clang; +static int hasAttributeImpl(AttributeCommonInfo::Syntax Syntax, StringRef Name, + StringRef ScopeName, const TargetInfo &Target, + const LangOptions &LangOpts) { + +#include "clang/Basic/AttrHasAttributeImpl.inc" + + return 0; +} + int clang::hasAttribute(AttributeCommonInfo::Syntax Syntax, const IdentifierInfo *Scope, const IdentifierInfo *Attr, const TargetInfo &Target, const LangOptions &LangOpts) { @@ -27,7 +36,9 @@ ScopeName == "omp") return (Name == "directive" || Name == "sequence") ? 1 : 0; -#include "clang/Basic/AttrHasAttributeImpl.inc" + int res = hasAttributeImpl(Syntax, Name, ScopeName, Target, LangOpts); + if (res) + return res; return 0; }
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits