]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Fix -fstrict-flex-arrays documentation, again [PR111659]
authorSandra Loosemore <sloosemore@baylibre.com>
Fri, 13 Dec 2024 00:26:29 +0000 (00:26 +0000)
committerSandra Loosemore <sloosemore@baylibre.com>
Fri, 13 Dec 2024 00:35:13 +0000 (00:35 +0000)
My previous attempt to fix this issue ended up garbling the text
instead.  Trying again to make the descriptions of the attribute and
command-line option consistent.

gcc/ChangeLog
PR middle-end/111659
* doc/extend.texi (Common Variable Attributes): Copy-edit description
of the strict_flex_array attribute levels.
* doc/invoke.texi (C Dialect Options): Swap documented behavior for
levels 0 and 3.  Copy the description for the other levels from the
attribute instead of indirecting to it.

gcc/doc/extend.texi
gcc/doc/invoke.texi

index 12fe7bc33455acd4f1076e0593c3bdeaf33aa8ba..ebd970155f78a06878e7a9d8c587143351acc9c0 100644 (file)
@@ -8328,11 +8328,11 @@ only when the trailing array is declared as a flexible array member per C99
 standard onwards (@samp{[]}), it is treated as a flexible array member.
 
 There are two more levels in between 0 and 3, which are provided to
-support older codes that use GCC zero-length array extension
+support older code that uses the GCC zero-length array extension
 (@samp{[0]}) or one-element array as flexible array members
 (@samp{[1]}).  When @var{level} is 1, the trailing array is treated as
 a flexible array member when it is declared as either @samp{[]},
-@samp{[0]}, or @samp{[1]}; When @var{level} is 2, the trailing array
+@samp{[0]}, or @samp{[1]} When @var{level} is 2, the trailing array
 is treated as a flexible array member when it is declared as either
 @samp{[]}, or @samp{[0]}.
 
index 67a3c8fd91e05b62c2d8450d5e95992710372ffb..0fdf85015857e961a0a3a3c92dae5bedec94043f 100644 (file)
@@ -2980,16 +2980,22 @@ member for the purpose of accessing the elements of such an array.  The value
 of @var{level} controls the level of strictness.
 
 @option{-fstrict-flex-arrays} is equivalent to
-@option{-fstrict-flex-arrays=3}, which is the strictest; all
-trailing arrays of structures are treated as flexible array members.
+@option{-fstrict-flex-arrays=3}, which is the strictest;
+a trailing array is treated as a flexible array member only when
+it is declared as a flexible array member per C99 standard onwards.
 
 The negative form @option{-fno-strict-flex-arrays} is equivalent to
 @option{-fstrict-flex-arrays=0}, which is the least strict.  In this
-case a trailing array is treated as a flexible array member only when
-it is declared as a flexible array member per C99 standard onwards.
-
-The possible values of @var{level} are the same as for the
-@code{strict_flex_array} attribute (@pxref{Variable Attributes}).
+case all trailing arrays of structures are treated as flexible array members.
+
+There are two more levels in between 0 and 3, which are provided to
+support older code that uses the GCC zero-length array extension
+(@samp{[0]}) or one-element array as flexible array members
+(@samp{[1]}).  When @var{level} is 1, the trailing array is treated as
+a flexible array member when it is declared as either @samp{[]},
+@samp{[0]}, or @samp{[1]}.  When @var{level} is 2, the trailing array
+is treated as a flexible array member when it is declared as either
+@samp{[]}, or @samp{[0]}.
 
 You can control this behavior for a specific trailing array field of a
 structure by using the variable attribute @code{strict_flex_array} attribute