1 /* Test for designated initializers for anonymous structures and
2    unions.  PR 10676.  */
3 /* { dg-do run } */
4 /* { dg-options "" } */
5 
6 extern void abort (void);
7 extern void exit (int);
8 
9 struct s
10 {
11   int a;
12   struct
13   {
14     int b;
15     int c;
16   };
17   union
18   {
19     int d;
20     struct
21     {
22       int e;
23     };
24   };
25   struct
26   {
27     struct
28     {
29       struct
30       {
31 	int f;
32       };
33     };
34   };
35 };
36 
37 struct s x =
38   {
39     .e = 5,
40     .b = 4,
41     .a = 3,
42     .f = 7,
43     .c = 9
44   };
45 
46 int
main(void)47 main (void)
48 {
49   if (x.a != 3
50       || x.b != 4
51       || x.c != 9
52       || x.d != 5
53       || x.e != 5
54       || x.f != 7)
55     abort ();
56   exit (0);
57 }
58