summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2014-07-14 11:12:29 +0000
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2014-07-14 11:12:29 +0000
commit2f1c4f17021af7adb8ec4e2429ed76611fd61a2a (patch)
tree1224b0514bcf69e54a5754f19ee0c65688d07e7c /gcc
parent2b5ad3014026d772a18c12f907a852a5ee62786d (diff)
downloadgcc-2f1c4f17021af7adb8ec4e2429ed76611fd61a2a.tar.gz
2014-07-14 Richard Biener <rguenther@suse.de>
* builtins.c (c_strlen): Make only_value == 2 really only affect warning generation. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212514 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/builtins.c6
2 files changed, 8 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 43f871fce81..04cece4ee76 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2014-07-14 Richard Biener <rguenther@suse.de>
+ * builtins.c (c_strlen): Make only_value == 2 really only
+ affect warning generation.
+
+2014-07-14 Richard Biener <rguenther@suse.de>
+
PR tree-optimization/61757
PR tree-optimization/61783
PR tree-optimization/61787
diff --git a/gcc/builtins.c b/gcc/builtins.c
index cc94302d0cf..03d1dcadfa1 100644
--- a/gcc/builtins.c
+++ b/gcc/builtins.c
@@ -610,11 +610,11 @@ c_strlen (tree src, int only_value)
/* If the offset is known to be out of bounds, warn, and call strlen at
runtime. */
- if (only_value != 2
- && (offset < 0 || offset > max))
+ if (offset < 0 || offset > max)
{
/* Suppress multiple warnings for propagated constant strings. */
- if (! TREE_NO_WARNING (src))
+ if (only_value != 2
+ && !TREE_NO_WARNING (src))
{
warning_at (loc, 0, "offset outside bounds of constant string");
TREE_NO_WARNING (src) = 1;