diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/c-typeck.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/overflow-warn-3.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/overflow-warn-4.c | 2 |
5 files changed, 15 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e7e62e9..a6a1232 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2007-01-02 Manuel Lopez-Ibanez <manu@gcc.gnu.org> + + PR c/19977 + * c-typeck.c (store_init_value): Don't emit pedantic overflow + warning for non-static initializers. + 2007-01-02 Steven Bosscher <steven@gcc.gnu.org> * config/alpha/alpha.md, arm/arm.c, darwin.c, frv/frv.md, diff --git a/gcc/c-typeck.c b/gcc/c-typeck.c index 08f7d4a..955bfd9 100644 --- a/gcc/c-typeck.c +++ b/gcc/c-typeck.c @@ -4292,7 +4292,7 @@ store_init_value (tree decl, tree init) /* ANSI wants warnings about out-of-range constant initializers. */ STRIP_TYPE_NOPS (value); - constant_expression_warning (value); + if (TREE_STATIC (decl)) constant_expression_warning (value); /* Check if we need to set array size from compound literal size. */ if (TREE_CODE (type) == ARRAY_TYPE diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 5f17a94..9b38348 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2007-01-02 Manuel Lopez-Ibanez <manu@gcc.gnu.org> + + PR c/19977 + * gcc/testsuite/gcc.dg/overflow-warn-3.c: Remove XFAIL. + * gcc/testsuite/gcc.dg/overflow-warn-4.c: Remove XFAIL. + 2006-01-02 Ian Lance Taylor <iant@google.com> * g++.dg/warn/Wparentheses-22.C: New test. diff --git a/gcc/testsuite/gcc.dg/overflow-warn-3.c b/gcc/testsuite/gcc.dg/overflow-warn-3.c index f20940e..2aa8b7f 100644 --- a/gcc/testsuite/gcc.dg/overflow-warn-3.c +++ b/gcc/testsuite/gcc.dg/overflow-warn-3.c @@ -40,7 +40,7 @@ f (void) /* This expression is not required to be a constant expression, so it should just involve undefined behavior at runtime. */ int c = INT_MAX + 1; /* { dg-warning "warning: integer overflow in expression" } */ - /* { dg-bogus "warning: overflow in constant expression" "constant" { xfail *-*-* } 42 } */ + } /* But this expression does need to be constant. */ diff --git a/gcc/testsuite/gcc.dg/overflow-warn-4.c b/gcc/testsuite/gcc.dg/overflow-warn-4.c index acf2c87..a36f66f 100644 --- a/gcc/testsuite/gcc.dg/overflow-warn-4.c +++ b/gcc/testsuite/gcc.dg/overflow-warn-4.c @@ -40,7 +40,7 @@ f (void) /* This expression is not required to be a constant expression, so it should just involve undefined behavior at runtime. */ int c = INT_MAX + 1; /* { dg-warning "warning: integer overflow in expression" } */ - /* { dg-bogus "error: overflow in constant expression" "constant" { xfail *-*-* } 42 } */ + } /* But this expression does need to be constant. */ |