aboutsummaryrefslogtreecommitdiff
path: root/gcc/calls.c
diff options
context:
space:
mode:
authorMartin Sebor <msebor@redhat.com>2018-05-22 19:37:48 +0000
committerMartin Sebor <msebor@gcc.gnu.org>2018-05-22 13:37:48 -0600
commit36537a1c41adabc6da23ae19e7c3a933582b19dd (patch)
treea8f5351bc207a35be81c86a6e2470a214629639e /gcc/calls.c
parentaab778d3825052d262e3fc6d87af67e7cc196273 (diff)
downloadgcc-36537a1c41adabc6da23ae19e7c3a933582b19dd.zip
gcc-36537a1c41adabc6da23ae19e7c3a933582b19dd.tar.gz
gcc-36537a1c41adabc6da23ae19e7c3a933582b19dd.tar.bz2
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. From-SVN: r260550
Diffstat (limited to 'gcc/calls.c')
-rw-r--r--gcc/calls.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/calls.c b/gcc/calls.c
index 9d8b96f..35bcff7 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)
{