Am Dienstag, dem 18.11.2025 um 20:10 +0000 schrieb Qing Zhao: > > > On Nov 14, 2025, at 09:36, Qing Zhao <[email protected]> wrote: > > > > > > > > > On Nov 14, 2025, at 01:50, Martin Uecker <[email protected]> wrote: > > > > > > Am Donnerstag, dem 13.11.2025 um 20:41 +0000 schrieb Qing Zhao: > > > > > > > > > On Nov 13, 2025, at 14:17, Martin Uecker <[email protected]> wrote: > > > > > > > > > > Am Donnerstag, dem 13.11.2025 um 15:44 +0000 schrieb Qing Zhao: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > You would then check correctness of the attribute only when the > > > > > > > parent > > > > > > > type is complete. > > > > > > > > > > > > Okay. > > > > > > > > > > > > > > If we want to support counted_by in even more generic cases, > > > > > > > > > > > > What kind of more generic cases? Any example? > > > > > > > > > > I was thinking about > > > > > > > > > > struct bar { > > > > > char *buf __counted_by(n); > > > > > }; > > > > > > > > > > struct foo { > > > > > int n; > > > > > struct bar; > > > > > }; > > > > > > > > > > which is allowed with -fms-extensions. > > > > > > > > > > I don't think we should support this. > > > > > > > > Don’t support this even when -fms-extensions is enabled? > > > > > > Yes, because then you can't emit an error for > > > struct bar anymore (e.g. as the in the following example), > > > because we can't know whether it might be used later > > > as an anonymous field where it could refer to some other 'n'. > > > > > > struct bar { > > > int m; > > > char *buf __counted_by(n); > > > }; > > > > > > But I think an error would be useful here. > > > > Okay, make sense to me. > > I will add this. > > At the same time, shall we support the following with -fms-extensions: > > /* -fms-extensions */ > > struct ids > { > int length_ad; > int length_na; > }; > > struct person > { > int age; > int weight; > struct ids; // Anonymous structure, no name needed > char *address __attribute__ ((counted_by (length_ad))); > char name[] __attribute__ ((counted_by (length_na))); > } *Jim; > > i.e, in the above, the counted_by fields for Pointer “address” and FAM “name” > are in the anonymous > structure “struct ids” which is not inlined into the “struct person”. > > Any idea on this?
I think this would make sense and should not be difficult. Martin > > Qing > > > > > Thanks a lot. > > > > Qing > > > > > > > > > Martin >
