void added a comment. In D148381#4626229 <https://reviews.llvm.org/D148381#4626229>, @serge-sans-paille wrote:
> 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) Qing Zhao has been sending out patches to gcc-patches@, so I've been trying to follow those as much as possible. I plan to go through my implementation to ensure that I copy hers as much as possible. See the thread here: https://gcc.gnu.org/pipermail/gcc-patches/2023-August/626376.html > 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? Yeah. It could definitely be extended to the Apple RFC (which is similar to your example). 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