> On Dec 2, 2022, at 2:20 AM, Richard Biener <rguent...@suse.de> wrote:
>
> 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.
Yes, implementation should be very easy to be adjusted to drop the new
-Wstrict-flex-arrays option.
But I still feel the new -Wstrict-flex-arrays option is good to add.
Qing
> We do all seem to agree on the first so it's easy
> to go forward with that?
>
> Thanks,
> Richard.