https://gcc.gnu.org/g:d136fa00f0d5faff8397edcd7e4ebb3445ab21b0

commit r15-6187-gd136fa00f0d5faff8397edcd7e4ebb3445ab21b0
Author: Sandra Loosemore <sloosem...@baylibre.com>
Date:   Fri Dec 13 00:26:29 2024 +0000

    Fix -fstrict-flex-arrays documentation, again [PR111659]
    
    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.

Diff:
---
 gcc/doc/extend.texi |  4 ++--
 gcc/doc/invoke.texi | 20 +++++++++++++-------
 2 files changed, 15 insertions(+), 9 deletions(-)

diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi
index 12fe7bc33455..ebd970155f78 100644
--- a/gcc/doc/extend.texi
+++ b/gcc/doc/extend.texi
@@ -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]}.
 
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 67a3c8fd91e0..0fdf85015857 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -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

Reply via email to