From 6bfb7f1068b1ad3d3bacb4fac704994ce1b9eb9f Mon Sep 17 00:00:00 2001 From: Simon Baldwin Date: Sat, 26 Apr 2008 16:59:38 +0000 Subject: [PATCH] re PR c++/35652 (offset warning should be given in the front-end) PR c/35652 * builtins.c (c_strlen): Suppressed multiple warnings that can occur with propagated string constants. From-SVN: r134714 --- gcc/ChangeLog | 6 ++++++ gcc/builtins.c | 7 ++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 843a2e232df..6453c503355 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2008-04-26 Simon Baldwin + + PR c/35652 + * builtins.c (c_strlen): Suppressed multiple warnings that can occur + with propagated string constants. + 2008-04-26 Uros Bizjak * config/i386/i386.md (fix_trunc_i387_fisttp_with_temp): Use 'X' diff --git a/gcc/builtins.c b/gcc/builtins.c index 765294b1be3..321032dace0 100644 --- a/gcc/builtins.c +++ b/gcc/builtins.c @@ -447,7 +447,12 @@ c_strlen (tree src, int only_value) runtime. */ if (offset < 0 || offset > max) { - warning (0, "offset outside bounds of constant string"); + /* Suppress multiple warnings for propagated constant strings. */ + if (! TREE_NO_WARNING (src)) + { + warning (0, "offset outside bounds of constant string"); + TREE_NO_WARNING (src) = 1; + } return NULL_TREE; } -- 2.30.2