diff options
author | msebor <msebor@138bc75d-0d04-0410-961f-82ee72b054a4> | 2018-05-22 19:37:48 +0000 |
---|---|---|
committer | msebor <msebor@138bc75d-0d04-0410-961f-82ee72b054a4> | 2018-05-22 19:37:48 +0000 |
commit | 0b39ade890c4bf8fd7d57b3fb7ddcdad066d2404 (patch) | |
tree | a8f5351bc207a35be81c86a6e2470a214629639e /gcc/calls.c | |
parent | b859b598b18a42711327ff0063aae10da84abefb (diff) |
PR middle-end/85359 - duplicate -Wstringop-overflow for a strcmp call with a nonstring pointer
gcc/ChangeLog:
PR middle-end/85359
* builtins.c (expand_builtin_strcpy): Call maybe_warn_nonstring_arg
only when expasion succeeds.
(expand_builtin_strcmp): Same.
(expand_builtin_strncmp): Same.
gcc/testsuite/ChangeLog:
PR middle-end/85359
* gcc.dg/attr-nonstring.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@260550 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/calls.c')
-rw-r--r-- | gcc/calls.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/calls.c b/gcc/calls.c index 9d8b96f34ad..35bcff7c6e5 100644 --- a/gcc/calls.c +++ b/gcc/calls.c @@ -1671,7 +1671,10 @@ maybe_warn_nonstring_arg (tree fndecl, tree exp) /* Determine the range of the bound argument (if specified). */ tree bndrng[2] = { NULL_TREE, NULL_TREE }; if (bound) - get_size_range (bound, bndrng); + { + STRIP_NOPS (bound); + get_size_range (bound, bndrng); + } if (*lenrng) { |