> On Apr 30, 2024, at 15:52, Jason Merrill <ja...@redhat.com> wrote: > > On 4/30/24 14:49, Qing Zhao wrote: >>> On Apr 30, 2024, at 15:45, Qing Zhao <qing.z...@oracle.com> wrote: >>> >>> >>> >>>>> gcc/doc/extend.texi | 34 ++++++++++++++++++++++++++++++++++ >>>>> 1 file changed, 34 insertions(+) >>>>> diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi >>>>> index 7b54a241a7bf..cba98c8aadd7 100644 >>>>> --- a/gcc/doc/extend.texi >>>>> +++ b/gcc/doc/extend.texi >>>>> @@ -42,6 +42,8 @@ extensions, accepted by GCC in C90 mode and in C++. >>>>> * Named Address Spaces::Named address spaces. >>>>> * Zero Length:: Zero-length arrays. >>>>> * Empty Structures:: Structures with no members. >>>>> +* Flexible Array Members in Unions:: Unions with Flexible Array Members. >>>>> +* Flexible Array Members alone in Structures:: Structures with only >>>>> Flexible Array Members. >>>>> * Variable Length:: Arrays whose length is computed at run time. >>>>> * Variadic Macros:: Macros with a variable number of arguments. >>>>> * Escaped Newlines:: Slightly looser rules for escaped newlines. >>>>> @@ -1873,6 +1875,38 @@ The structure has size zero. In C++, empty >>>>> structures are part >>>>> of the language. G++ treats empty structures as if they had a single >>>>> member of type @code{char}. >>>>> +@node Flexible Array Members in Unions >>>>> +@section Unions with Flexible Array Members >>>>> +@cindex unions with flexible array members >>>>> +@cindex unions with FAMs >>>>> + >>>>> +GCC permits a C99 flexible array member (FAM) to be in a union: >>>>> + >>>>> +@smallexample >>>>> +union with_fam @{ >>>>> + int a; >>>>> + int b[]; >>>>> +@}; >>>>> +@end smallexample >>>>> + >>>>> +If all the members of a union are flexible array member, the size of >>> >>> It’s for the following case: >>> >>> union with_fam_3 { >>> char a[]; >>> int b[]; >>> } >>> >>> And also include: (the only member of a union is a flexible array member >>> as you mentioned below) >>> >>> union with_fam_1 { >>> char a[]; >>> } >>> >>> So, I think the original sentence: >>> >>> “If all the members of a union are flexible array member, the size of” >>> >>> Should be better than the below: >>>> >>>> "If the only member of a union is a flexible array member” >> How about the following wording? >> "If every member of a union is flexible array member, the size of” > > "is a flexible array member", sure.
Okay, will update the doc. Thanks a lot. Qing > > Jason >