> On Dec 5, 2022, at 10:16 AM, Richard Biener <rguent...@suse.de> wrote:
>
> On Fri, 2 Dec 2022, Qing Zhao wrote:
>
>>
>>
>>> 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.
>
> Can you split the patch and re-post? I'll quickly approve the first
> part and will think harder on the second.
Okay, I will do that.
thanks.
Qing
>
> Thanks,
> Richard.
>
>> Qing
>>> We do all seem to agree on the first so it's easy
>>> to go forward with that?
>>>
>>> Thanks,
>>> Richard.
>>
>>
>
> --
> Richard Biener <rguent...@suse.de>
> SUSE Software Solutions Germany GmbH, Frankenstrasse 146, 90461 Nuernberg,
> Germany; GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman;
> HRB 36809 (AG Nuernberg)