================
@@ -8522,6 +8522,22 @@ bool Sema::CheckCountedByAttr(Scope *S, const FieldDecl
*FD) {
}
}
+ // We don't support 'counted_by' on flexible array members in substructures.
+ const DeclContext *DC = FD->getParent();
+ while (const auto *RD = dyn_cast<RecordDecl>(DC)) {
+ if (!RD->isAnonymousStructOrUnion() ||
+ !isa<RecordDecl>(RD->getLexicalParent()))
+ break;
+ DC = RD->getLexicalParent();
+ }
----------------
rjmccall wrote:
```
while (true) {
const auto *RD = dyn_cast<RecordDecl>(DC);
if (!RD || !RD->isAnonymousStructOrUnion())
break;
DC = RD->getLexicalParent();
}
```
https://github.com/llvm/llvm-project/pull/73730
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits