serge-sans-paille added a comment. Jumping a bit late in the thread, apologize in advance if I missed something.
The GCC version of the attributes seems to be `element_count` (as found in the link https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108896 mentionned by @kees) I guess we could align (I personally prefer the GCC name, FWIW) I may be wrong , but it seems to me that there is nothing specific to FAM there, and this would work as well for struct foo { size_t num_elements; // ... struct bar ** data __attribute__((counted_by(num_elements))); }; struct foo make_foo(size_t num_elements) { struct foo f; f.data = malloc(num_elements * sizeof(struct bar *)); f.num_elements = num_elements; return f; } Which makes us very close to: void stuff(int n, int *data __attribute__((counted_by(n)))) { for(int i = 0; i < n; ++i) other_stuff(data[i]); } which is very close to VLA, right? ================ Comment at: clang/lib/AST/Expr.cpp:286 - - return false; } ---------------- I really like this cleanup! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D148381/new/ https://reviews.llvm.org/D148381 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits