[clang] [Attributes] Support Attributes being declared as supporting an experimental late parsing mode "extension" (PR #88596)
Aaron Ballman via cfe-commits
cfe-commits at lists.llvm.org
Tue Apr 23 10:34:49 PDT 2024
================
@@ -220,8 +230,28 @@ void Parser::ParseGNUAttributes(ParsedAttributes &Attrs,
continue;
}
+ bool LateParse = false;
+ if (!LateAttrs)
+ LateParse = false;
+ else {
+ if (LateAttrs->lateAttrParseExperimentalExtOnly()) {
+ // The caller requested that this attribute **only** be late
+ // parsed for `LateAttrParseExperimentalExt` attributes. This will
+ // only be late parsed if the experimental language option is enabled.
+ LateParse = IsAttributeLateParsedExperimentalExt(*AttrName) &&
+ getLangOpts().ExperimentalLateParseAttributes;
----------------
AaronBallman wrote:
Check the lang option first as that's going short-circuit more quickly?
https://github.com/llvm/llvm-project/pull/88596
More information about the cfe-commits
mailing list