aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2014-07-14 11:12:29 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2014-07-14 11:12:29 +0000
commit3b57ff81e6246551d6eb563ff2981027db9e6205 (patch)
tree1224b0514bcf69e54a5754f19ee0c65688d07e7c /gcc
parent406bfdd39f8aa628eefdf1fcc36348091f1f7a6c (diff)
downloadgcc-3b57ff81e6246551d6eb563ff2981027db9e6205.zip
gcc-3b57ff81e6246551d6eb563ff2981027db9e6205.tar.gz
gcc-3b57ff81e6246551d6eb563ff2981027db9e6205.tar.bz2
builtins.c (c_strlen): Make only_value == 2 really only affect warning generation.
2014-07-14 Richard Biener <rguenther@suse.de> * builtins.c (c_strlen): Make only_value == 2 really only affect warning generation. From-SVN: r212514
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 43f871f..04cece4 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 cc94302..03d1dca 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;