summaryrefslogtreecommitdiffstats
path: root/gcc
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2002-04-24 22:26:10 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2002-04-24 22:26:10 +0000
commitdb40a8345ccf8bef7302506d672cead741d2f95f (patch)
tree1cbecc14650e6c8a4519df95cf7416b13f37534e /gcc
parent497bb0230ff301fae31e259a009994db1cbf0bb4 (diff)
downloadppe42-gcc-db40a8345ccf8bef7302506d672cead741d2f95f.tar.gz
ppe42-gcc-db40a8345ccf8bef7302506d672cead741d2f95f.zip
* c-decl.c (grokdeclarator): Don't pedwarn variable sized arrays
for c99. * gcc.dg/c90-vla-1.c, gcc.dg/c99-vla-1.c: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@52738 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/c-decl.c2
-rw-r--r--gcc/testsuite/gcc.dg/c90-vla-1.c12
-rw-r--r--gcc/testsuite/gcc.dg/c99-vla-1.c12
4 files changed, 31 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 23175ed3938..28484bd26df 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2002-04-24 Richard Henderson <rth@redhat.com>
+
+ PR c/3467
+ * c-decl.c (grokdeclarator): Don't pedwarn variable sized arrays
+ for c99.
+
Wed Apr 24 21:51:54 2002 J"orn Rennecke <joern.rennecke@superh.com>
* sh.c (sh_va_arg): If argument was passed by reference,
diff --git a/gcc/c-decl.c b/gcc/c-decl.c
index 71ece88d6fe..fed2e5084df 100644
--- a/gcc/c-decl.c
+++ b/gcc/c-decl.c
@@ -4381,7 +4381,7 @@ grokdeclarator (declarator, declspecs, decl_context, initialized)
even if it is (eg) a const variable with known value. */
size_varies = 1;
- if (pedantic)
+ if (!flag_isoc99 && pedantic)
{
if (TREE_CONSTANT (size))
pedwarn ("ISO C89 forbids array `%s' whose size can't be evaluated",
diff --git a/gcc/testsuite/gcc.dg/c90-vla-1.c b/gcc/testsuite/gcc.dg/c90-vla-1.c
new file mode 100644
index 00000000000..c8c93c7826c
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/c90-vla-1.c
@@ -0,0 +1,12 @@
+/* Origin: PR 3467 */
+/* { dg-do compile } */
+/* { dg-options "-std=iso9899:1990 -pedantic-errors" } */
+
+void
+tdef (int n)
+{
+ typedef int A[n]; /* { dg-error "forbids variable-size array" } */
+ A a;
+ A *p;
+ p = &a;
+}
diff --git a/gcc/testsuite/gcc.dg/c99-vla-1.c b/gcc/testsuite/gcc.dg/c99-vla-1.c
new file mode 100644
index 00000000000..0378ce38bcd
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/c99-vla-1.c
@@ -0,0 +1,12 @@
+/* Origin: PR 3467 */
+/* { dg-do compile } */
+/* { dg-options "-std=iso9899:1999 -pedantic-errors" } */
+
+void
+tdef (int n)
+{
+ typedef int A[n]; /* { dg-bogus "forbids variable-size array" } */
+ A a;
+ A *p;
+ p = &a;
+}
OpenPOWER on IntegriCloud