1 /* PR c/6660
2    Test whether an unnamed field with user defined type - struct or union is
3    accepted.  */
4 /* { dg-do compile } */
5 /* { dg-options "-fms-extensions" } */
6 
7 typedef struct {
8   unsigned short a;
9   unsigned short b;
10 } __attribute__ ((__packed__)) A;
11 
12 typedef struct B_ {
13   unsigned int c;
14   unsigned int d;
15 } B;
16 
17 typedef struct C_ {
18   B;
19   unsigned int e;
20   unsigned int f;
21 } C;
22 
23 typedef C D;
24 
25 typedef struct {
26   A;
27   D;
28   struct {
29     unsigned short g;
30     unsigned short h;
31   } __attribute__ ((__packed__));
32   union {
33     int i;
34     long j;
35   };
36   int k;
37 } __attribute__ ((__packed__)) E;
38 
39 E x;
40 
foo(void)41 void foo (void)
42 {
43   x.a = 1;
44   x.b = 2;
45   x.c = 3;
46   x.d = 4;
47   x.e = 5;
48   x.f = 6;
49   x.g = 7;
50   x.h = 8;
51   x.i = 9;
52   x.j = 10;
53   x.k = 11;
54 }
55