1// { dg-do run  }
2extern "C" void abort (void);
3
4static union {
5  int x1;
6  long x2;
7  short x3;
8  long x4;
9};
10
11static union {
12  union {
13    union {
14      int z;
15    };
16  };
17  union {
18    union {
19      double d;
20      int i;
21    };
22  };
23};
24
25
26int main()
27{
28  z = 3;
29  if (i != 3)
30    abort ();
31  d = 2.5;
32}
33