================ @@ -179,13 +179,15 @@ static bool isLanguageDefinedBuiltin(const SourceManager &SourceMgr, static bool isReservedCXXAttributeName(Preprocessor &PP, IdentifierInfo *II) { const LangOptions &Lang = PP.getLangOpts(); if (Lang.CPlusPlus && - hasAttribute(AttributeCommonInfo::Syntax::AS_CXX11, /*Scope*/ nullptr, II, - PP.getTargetInfo(), Lang) > 0) { - AttributeCommonInfo::Kind AttrKind = AttributeCommonInfo::getParsedKind( - II, /*Scope*/ nullptr, AttributeCommonInfo::Syntax::AS_CXX11); - return !((AttrKind == AttributeCommonInfo::Kind::AT_Likely || - AttrKind == AttributeCommonInfo::Kind::AT_Unlikely) && - PP.isNextPPTokenLParen()); + hasAttribute(AttributeCommonInfo::AS_CXX11, /* Scope*/ nullptr, II, + PP.getTargetInfo(), Lang, /*CheckPlugins*/ false) > 0) { + AttributeCommonInfo::AttrArgsInfo AttrArgsInfo = + AttributeCommonInfo::getCXX11AttrArgsInfo(II); + if (AttrArgsInfo == AttributeCommonInfo::AttrArgsInfo::Required) ---------------- a-tarasyuk wrote:
Yes. I added attribute arg information to eliminate the need for additional logic to define how certain attributes should behave. For the new attributes, everything will work based on the TG information, with no additional logic needed. https://github.com/llvm/llvm-project/pull/106036 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits