aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/c-typeck.c2
-rw-r--r--gcc/testsuite/ChangeLog6
-rw-r--r--gcc/testsuite/gcc.dg/overflow-warn-3.c2
-rw-r--r--gcc/testsuite/gcc.dg/overflow-warn-4.c2
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. */