1*67e74705SXin Li // RUN: %clang_cc1 %s -emit-llvm -triple i386-apple-darwin -o - | FileCheck %s 2*67e74705SXin Li extern void abort(); 3*67e74705SXin Li extern void exit(int); 4*67e74705SXin Li struct T 5*67e74705SXin Li { 6*67e74705SXin Li unsigned i:8; 7*67e74705SXin Li unsigned c:24; 8*67e74705SXin Li }; f(struct T t)9*67e74705SXin Lif(struct T t) 10*67e74705SXin Li { 11*67e74705SXin Li struct T s[1]; 12*67e74705SXin Li s[0]=t; 13*67e74705SXin Li return(char)s->c; 14*67e74705SXin Li } main()15*67e74705SXin Limain() 16*67e74705SXin Li { 17*67e74705SXin Li // CHECK: getelementptr inbounds [1 x %struct.T], [1 x %struct.T]* %s, i32 0, i32 0 18*67e74705SXin Li // CHECK: getelementptr inbounds [1 x %struct.T], [1 x %struct.T]* %s, i32 0, i32 0 19*67e74705SXin Li struct T t; 20*67e74705SXin Li t.i=0xff; 21*67e74705SXin Li t.c=0xffff11; 22*67e74705SXin Li if(f(t)!=0x11)abort(); 23*67e74705SXin Li exit(0); 24*67e74705SXin Li } 25