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