* gcc.dg/array-7.c, gcc.dg/c99-tag-2.c: New tests.
authorJoseph Myers <jsm@polyomino.org.uk>
Tue, 3 Aug 2004 14:19:39 +0000 (15:19 +0100)
committerJoseph Myers <jsm28@gcc.gnu.org>
Tue, 3 Aug 2004 14:19:39 +0000 (15:19 +0100)
From-SVN: r85479

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/array-7.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/c99-tag-2.c [new file with mode: 0644]

index 2ed388d8762207eaf74af1516cb0520e9d31cdc5..1ccb810df061ca22aba5a68d8942a9d8e111af1a 100644 (file)
@@ -1,3 +1,7 @@
+2004-08-03  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       * gcc.dg/array-7.c, gcc.dg/c99-tag-2.c: New tests.
+
 2004-08-03  Joseph S. Myers  <jsm@polyomino.org.uk>
 
        * gcc.dg/20001023-1.c, gcc.dg/20001108-1.c, gcc.dg/20001117-1.c,
diff --git a/gcc/testsuite/gcc.dg/array-7.c b/gcc/testsuite/gcc.dg/array-7.c
new file mode 100644 (file)
index 0000000..b32d4ea
--- /dev/null
@@ -0,0 +1,14 @@
+/* Test for array of incomplete structure type - Zack Weinberg in
+   <http://gcc.gnu.org/ml/gcc-patches/2004-08/msg00108.html>.  */
+/* { dg-do compile } */
+/* { dg-options "" } */
+
+struct foo;
+
+void
+f (void)
+{
+  struct foo { int a; int b; };
+}
+
+struct foo array[5]; /* { dg-error "storage size" } */
diff --git a/gcc/testsuite/gcc.dg/c99-tag-2.c b/gcc/testsuite/gcc.dg/c99-tag-2.c
new file mode 100644 (file)
index 0000000..22cf90e
--- /dev/null
@@ -0,0 +1,16 @@
+/* Test for handling of tags.  A struct defined in an inner scope does
+   not match one declared in an outer scope.  */
+/* Origin: Joseph Myers <jsm@polyomino.org.uk> */
+/* { dg-do compile } */
+/* { dg-options "-std=iso9899:1999 -pedantic-errors" } */
+
+struct s;
+struct t { struct s *p; } x;
+
+void
+f (void)
+{
+  /* This is a different struct s from the outer one.  */
+  struct s { int a; } y;
+  x.p = &y; /* { dg-error "incompatible" } */
+}