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
This commit is contained in:
Richard Biener 2014-07-14 11:12:29 +00:00 committed by Richard Biener
parent 406bfdd39f
commit 3b57ff81e6
2 changed files with 8 additions and 3 deletions

View File

@ -1,3 +1,8 @@
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

View File

@ -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;