[clang] [Attributes] Support Attributes being declared as only supporting late parsing when passing an experimental feature flag (PR #88596)
via cfe-commits
cfe-commits at lists.llvm.org
Sat Apr 13 22:28:06 PDT 2024
================
@@ -2101,9 +2179,20 @@ bool PragmaClangAttributeSupport::isAttributedSupported(
return SpecifiedResult;
// Opt-out rules:
- // An attribute requires delayed parsing (LateParsed is on)
- if (Attribute.getValueAsBit("LateParsed"))
+
+ // An attribute requires delayed parsing (LateParsed is on).
+ switch (getLateAttrParseKind(&Attribute)) {
+ case LateAttrParseKind::LateAttrParsingNever:
+ break;
+ case LateAttrParseKind::LateAttrParsingAlways:
+ return false;
+ case LateAttrParseKind::LateAttrParsingExperimentalOnly:
+ // FIXME: This is only late parsed when
+ // `-fexperimental-late-parse-attributes` is on. If that option is off
+ // then we shouldn't return here.
return false;
----------------
Sirraide wrote:
Hmm, I’d probably just keep returning `false` here as there is no good way to handle this here—at least not that I can think of. Not supporting it here if it may sometimes be late parsed is probably fine.
https://github.com/llvm/llvm-project/pull/88596
More information about the cfe-commits
mailing list