c-decl.c (grokdeclarator): Don't pedwarn variable sized arrays for c99.
authorRichard Henderson <rth@redhat.com>
Wed, 24 Apr 2002 22:26:10 +0000 (15:26 -0700)
committerRichard Henderson <rth@gcc.gnu.org>
Wed, 24 Apr 2002 22:26:10 +0000 (15:26 -0700)
        * 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.

From-SVN: r52738

gcc/ChangeLog
gcc/c-decl.c
gcc/testsuite/gcc.dg/c90-vla-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/c99-vla-1.c [new file with mode: 0644]

index 23175ed3938ce6fb3d55988093dae8452eb8f0d6..28484bd26df51d0d7a8070d8f21cad1960b24f6d 100644 (file)
@@ -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,
index 71ece88d6fe0aa6d56c2026d2856a90f475e7874..fed2e5084dfc8e01c4174ec6ff52509ac88e159f 100644 (file)
@@ -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 (file)
index 0000000..c8c93c7
--- /dev/null
@@ -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 (file)
index 0000000..0378ce3
--- /dev/null
@@ -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;
+}