[clang] [BoundsSafety] Support late parsing for `counted_by` in type positions (PR #166491)
Yeoul Na via cfe-commits
cfe-commits at lists.llvm.org
Mon Nov 10 10:49:08 PST 2025
================
@@ -6447,21 +6472,33 @@ void Parser::ParseDeclaratorInternal(Declarator &D,
((D.getContext() != DeclaratorContext::CXXNew)
? AR_GNUAttributesParsed
: AR_GNUAttributesParsedAndRejected);
+ LateParsedAttrList LateAttrs(/*PSoon=*/true,
+ /*LateAttrParseExperimentalExtOnly=*/true);
ParseTypeQualifierListOpt(DS, Reqs, /*AtomicOrPtrauthAllowed=*/true,
- !D.mayOmitIdentifier());
+ !D.mayOmitIdentifier(), {}, &LateAttrs);
D.ExtendWithDeclSpec(DS);
// Recursively parse the declarator.
Actions.runWithSufficientStackSpace(
D.getBeginLoc(), [&] { ParseDeclaratorInternal(D, DirectDeclParser); });
- if (Kind == tok::star)
+ if (Kind == tok::star) {
+ DeclaratorChunk::LateAttrListTy OpaqueLateAttrList;
+ if (getLangOpts().ExperimentalLateParseAttributes && !LateAttrs.empty()) {
+ if (!D.isFunctionDeclarator()) {
+ for (auto LA : LateAttrs) {
+ OpaqueLateAttrList.push_back(LA);
+ }
----------------
rapidsna wrote:
Updated it!
https://github.com/llvm/llvm-project/pull/166491
More information about the cfe-commits
mailing list