re PR c/19977 (overflow in non-static initializer should not be pedwarn)

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.

testsuite/
	* gcc/testsuite/gcc.dg/overflow-warn-3.c: Remove XFAIL.
	* gcc/testsuite/gcc.dg/overflow-warn-4.c: Remove XFAIL.

From-SVN: r120355
This commit is contained in:
Manuel López-Ibáñez 2007-01-02 20:07:44 +00:00
parent bd94cb6ec8
commit b405ac807c
5 changed files with 15 additions and 3 deletions

View File

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

View File

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

View File

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

View File

@ -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. */

View File

@ -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. */