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