On Fri, 2 Dec 2022, Richard Biener wrote:

> On Thu, 1 Dec 2022, Siddhesh Poyarekar wrote:
> 
> > On 2022-12-01 11:42, Kees Cook wrote:
> > > On Wed, Nov 30, 2022 at 02:25:56PM +0000, Qing Zhao wrote:
> > >> '-Wstrict-flex-arrays'
> > >>       Warn about inproper usages of flexible array members according to
> > >>       the LEVEL of the 'strict_flex_array (LEVEL)' attribute attached to
> > >>       the trailing array field of a structure if it's available,
> > >>       otherwise according to the LEVEL of the option
> > >>       '-fstrict-flex-arrays=LEVEL'.
> > >>
> > >>       This option is effective only when LEVEL is bigger than 0.
> > >>       Otherwise, it will be ignored with a warning.
> > >>
> > >>       when LEVEL=1, warnings will be issued for a trailing array
> > >>       reference of a structure that have 2 or more elements if the
> > >>       trailing array is referenced as a flexible array member.
> > >>
> > >>       when LEVEL=2, in addition to LEVEL=1, additional warnings will be
> > >>       issued for a trailing one-element array reference of a structure if
> > >>       the array is referenced as a flexible array member.
> > >>
> > >>       when LEVEL=3, in addition to LEVEL=2, additional warnings will be
> > >>       issued for a trailing zero-length array reference of a structure if
> > >>       the array is referenced as a flexible array member.
> > >>
> > >> At the same time, -Warray-bounds is updated:
> > > 
> > > Why is there both -Wstrict-flex-arrays and -Warray-bounds? I thought
> > > only the latter was going to exist?
> 
> Sorry for appearantly not being clear - I was requesting 
> -Wstrict-flex-arrays to be dropped and instead adjusting -Warray-bounds
> to adhere to -fstrict-flex-arrays in both =1 and =2 where then =2
> would only add the intermediate pointer results verification.
> 
> I think that's reasonable if documented since the default behavior
> with -Wall will not change then unless the -fstrict-flex-arrays
> default is altered.

Btw, your patch seems to implement the above plus adds 
-Wstrict-flex-arrays.  It seems it could be split into two, doing
the -Warray-bounds adjustment as first and the -Wstrict-flex-arrays 
addition as second.  We do all seem to agree on the first so it's easy
to go forward with that?

Thanks,
Richard.

Reply via email to