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

Reply via email to