[PATCH][Middle-end]79538 missing -Wformat-overflow with %s and non-member array arguments
Qing Zhao
qing.zhao@oracle.com
Thu Dec 14 19:22:00 GMT 2017
> On Dec 14, 2017, at 2:05 AM, Richard Biener <rguenther@suse.de> wrote:
>
> On Wed, 13 Dec 2017, Qing Zhao wrote:
>
>> Hi,
>>
>> I updated gimple-fold.c as you suggested, bootstrapped and re-tested on both x86 and aarch64. no any issue.
>>
>> ====
>> diff --git a/gcc/gimple-fold.c b/gcc/gimple-fold.c
>> index 353a46e..eb6a87a 100644
>> --- a/gcc/gimple-fold.c
>> +++ b/gcc/gimple-fold.c
>> @@ -1323,6 +1323,19 @@ get_range_strlen (tree arg, tree length[2], bitmap *visited, int type,
>> the array could have zero length. */
>> *minlen = ssize_int (0);
>> }
>> +
>> + if (VAR_P (arg)
>> + && TREE_CODE (TREE_TYPE (arg)) == ARRAY_TYPE)
>> + {
>> + val = TYPE_SIZE_UNIT (TREE_TYPE (arg));
>> + if (!val || TREE_CODE (val) != INTEGER_CST || integer_zerop (val))
>> + return false;
>> + val = wide_int_to_tree (TREE_TYPE (val),
>> + wi::sub(wi::to_wide (val), 1));
>> + /* Set the minimum size to zero since the string in
>> + the array could have zero length. */
>> + *minlen = ssize_int (0);
>> + }
>> }
>> ====
>>
>> I plan to commit the change very soon.
>> let me know if you have further comment.
>
> Looks good to me.
thanks a lot for your review.
committed the patch as revision 255654
https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=255654 <https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=255654>
PR 79538 was filed against GCC7.0, So, I assume that this patch need to be backported to GCC7 branch.
I will do the backporting to GCC7 later this week if there is no objection.
Qing
> Richard.
>
More information about the Gcc-patches
mailing list