1*67e74705SXin Li // RUN: %clang_cc1 -w -triple i386-pc-win32 -emit-llvm -o - %s | FileCheck %s 2*67e74705SXin Li 3*67e74705SXin Li // CHECK-LABEL: define i64 @f1_1() 4*67e74705SXin Li // CHECK-LABEL: define void @f1_2(i32 %a0.0, i32 %a0.1) 5*67e74705SXin Li struct s1 { 6*67e74705SXin Li int a; 7*67e74705SXin Li int b; 8*67e74705SXin Li }; f1_1(void)9*67e74705SXin Listruct s1 f1_1(void) { while (1) {} } f1_2(struct s1 a0)10*67e74705SXin Livoid f1_2(struct s1 a0) {} 11*67e74705SXin Li 12*67e74705SXin Li // CHECK-LABEL: define i32 @f2_1() 13*67e74705SXin Li struct s2 { 14*67e74705SXin Li short a; 15*67e74705SXin Li short b; 16*67e74705SXin Li }; f2_1(void)17*67e74705SXin Listruct s2 f2_1(void) { while (1) {} } 18*67e74705SXin Li 19*67e74705SXin Li // CHECK-LABEL: define i16 @f3_1() 20*67e74705SXin Li struct s3 { 21*67e74705SXin Li char a; 22*67e74705SXin Li char b; 23*67e74705SXin Li }; f3_1(void)24*67e74705SXin Listruct s3 f3_1(void) { while (1) {} } 25*67e74705SXin Li 26*67e74705SXin Li // CHECK-LABEL: define i8 @f4_1() 27*67e74705SXin Li struct s4 { 28*67e74705SXin Li char a:4; 29*67e74705SXin Li char b:4; 30*67e74705SXin Li }; f4_1(void)31*67e74705SXin Listruct s4 f4_1(void) { while (1) {} } 32*67e74705SXin Li 33*67e74705SXin Li // CHECK-LABEL: define i64 @f5_1() 34*67e74705SXin Li // CHECK-LABEL: define void @f5_2(double %a0.0) 35*67e74705SXin Li struct s5 { 36*67e74705SXin Li double a; 37*67e74705SXin Li }; f5_1(void)38*67e74705SXin Listruct s5 f5_1(void) { while (1) {} } f5_2(struct s5 a0)39*67e74705SXin Livoid f5_2(struct s5 a0) {} 40*67e74705SXin Li 41*67e74705SXin Li // CHECK-LABEL: define i32 @f6_1() 42*67e74705SXin Li // CHECK-LABEL: define void @f6_2(float %a0.0) 43*67e74705SXin Li struct s6 { 44*67e74705SXin Li float a; 45*67e74705SXin Li }; f6_1(void)46*67e74705SXin Listruct s6 f6_1(void) { while (1) {} } f6_2(struct s6 a0)47*67e74705SXin Livoid f6_2(struct s6 a0) {} 48*67e74705SXin Li 49