]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
This commit was manufactured by cvs2svn to create branch
authorNo Author <no-author@gcc.gnu.org>
Mon, 10 Jun 2002 21:53:39 +0000 (21:53 +0000)
committerNo Author <no-author@gcc.gnu.org>
Mon, 10 Jun 2002 21:53:39 +0000 (21:53 +0000)
'gcc-3_1-branch'.

From-SVN: r54467

gcc/testsuite/gcc.dg/20020527-1.c [new file with mode: 0644]

diff --git a/gcc/testsuite/gcc.dg/20020527-1.c b/gcc/testsuite/gcc.dg/20020527-1.c
new file mode 100644 (file)
index 0000000..f480d7b
--- /dev/null
@@ -0,0 +1,54 @@
+/* PR c/6660
+   Test whether an unnamed field with user defined type - struct or union is
+   accepted.  */
+/* { dg-do compile } */
+/* { dg-options "" } */
+
+typedef struct {
+  unsigned short a;
+  unsigned short b;
+} __attribute__ ((__packed__)) A;
+
+typedef struct B_ {
+  unsigned int c;
+  unsigned int d;
+} B;
+
+typedef struct C_ {
+  B;
+  unsigned int e;
+  unsigned int f;
+} C;
+
+typedef C D;
+
+typedef struct {
+  A;
+  D;
+  struct {
+    unsigned short g;
+    unsigned short h;
+  } __attribute__ ((__packed__));
+  union {
+    int i;
+    long j;
+  };
+  int k;
+} __attribute__ ((__packed__)) E;
+
+E x;
+
+void foo (void)
+{
+  x.a = 1;
+  x.b = 2;
+  x.c = 3;
+  x.d = 4;
+  x.e = 5;
+  x.f = 6;
+  x.g = 7;
+  x.h = 8;
+  x.i = 9;
+  x.j = 10;
+  x.k = 11;
+}