1 // RUN: %clang_cc1 -emit-llvm %s  -o /dev/null
2 
3 union X;
4 struct Empty {};
5 union F {};
6 union Q { union Q *X; };
7 union X {
8   char C;
9   int A, Z;
10   long long B;
11   void *b1;
12   struct { int A; long long Z; } Q;
13 };
14 
15 union X foo(union X A) {
16   A.C = 123;
17   A.A = 39249;
18   //A.B = (void*)123040123321;
19   A.B = 12301230123123LL;
20   A.Z = 1;
21   return A;
22 }
23