1*67e74705SXin Li // PR 1419 2*67e74705SXin Li 3*67e74705SXin Li // RUN: %clang_cc1 -O2 %s -emit-llvm -o - | grep "ret i32 1" 4*67e74705SXin Li struct A { 5*67e74705SXin Li short x; 6*67e74705SXin Li long long :0; 7*67e74705SXin Li }; 8*67e74705SXin Li 9*67e74705SXin Li struct B { 10*67e74705SXin Li char a; 11*67e74705SXin Li char b; 12*67e74705SXin Li unsigned char i; 13*67e74705SXin Li }; 14*67e74705SXin Li 15*67e74705SXin Li union X { struct A a; struct B b; }; 16*67e74705SXin Li check(void)17*67e74705SXin Liint check(void) { 18*67e74705SXin Li union X x, y; 19*67e74705SXin Li 20*67e74705SXin Li y.b.i = 0xff; 21*67e74705SXin Li x = y; 22*67e74705SXin Li return (x.b.i == 0xff); 23*67e74705SXin Li } 24