[PATCH] issue nonstring warning for strcpy even on s360 (PR 85369)

Jeff Law law@redhat.com
Thu May 24 21:50:00 GMT 2018


On 04/12/2018 06:00 PM, Martin Sebor wrote:
> PR 85369 notes that the c-c++-common/attr-nonstring-3.c fails
> on IBM Z (and other similar targets) whose back-end provides
> the movstr expander.  The failure is cause by an expected
> warning failing to trigger because the strcpy call is expanded
> early and the checker never runs.
> 
> The attached patch adjusts the code to make sure the warning
> is not bypassed on these targets.
> 
> I've verified the patch with an s390-linux cross-compiler and
> with a full x86_64-linux native build and regression run.
> 
> Martin
> 
> gcc-85369.diff
> 
> 
> PR middle-end/85369 - no -Wstringop-overflow for a strcpy / stpcpy call with a nonstring pointer when providing movstr pattern
> 
> gcc/ChangeLog:
> 
> 	PR middle-end/85369
> 	* builtins.c (expand_builtin_strcpy_1): New function.
Patch actually introduced expand_builtin_stpcpy_1, not
expand_builtin_strcpy_1.

> 	(expand_builtin_stpcpy): Call it, and call maybe_warn_nonstring_arg
> 	only if the former succeeds.
OK with ChangeLog nit fixed.

jeff



More information about the Gcc-patches mailing list