@@ -10,14 +10,13 @@ static Inner globalInner;
10
10
11
11
Outer passAndReturnOuterByVal (Outer arg) { return arg; }
12
12
// CHECK: define{{.*}} void @{{.*}}_D5align23passAndReturnOuterByValFS5align5OuterZS5align5Outer
13
- /* no sret align attributes for MSVC targets at the moment */
14
- // C HECK-SAME: %align.Outer* noalias sret align 32 %.sret_arg
13
+ // CHECK-SAME: %align.Outer* noalias sret align 32 %.sret_arg
15
14
/* how the arg is passed by value is ABI-specific, but the pointer must be aligned */
16
15
// CHECK-SAME: align 32 %
17
16
18
17
Inner passAndReturnInnerByVal (Inner arg) { return arg; }
19
18
// CHECK: define{{.*}} void @{{.*}}_D5align23passAndReturnInnerByValFS5align5InnerZS5align5Inner
20
- // C HECK -SAME: %align.Inner* noalias sret align 32 %.sret_arg
19
+ // CHECK -SAME: %align.Inner* noalias sret align 32 %.sret_arg
21
20
// CHECK-SAME: align 32 %
22
21
23
22
void main () {
@@ -49,11 +48,11 @@ void main() {
49
48
50
49
outer = passAndReturnOuterByVal(outer);
51
50
// CHECK: call{{.*}} void @{{.*}}_D5align23passAndReturnOuterByValFS5align5OuterZS5align5Outer
52
- // C HECK -SAME: %align.Outer* noalias sret align 32 %.rettmp
51
+ // CHECK -SAME: %align.Outer* noalias sret align 32 %.rettmp
53
52
// CHECK-SAME: align 32 %
54
53
55
54
inner = passAndReturnInnerByVal(inner);
56
55
// CHECK: call{{.*}} void @{{.*}}_D5align23passAndReturnInnerByValFS5align5InnerZS5align5Inner
57
- // C HECK -SAME: %align.Inner* noalias sret align 32 %.rettmp1
56
+ // CHECK -SAME: %align.Inner* noalias sret align 32 %.rettmp1
58
57
// CHECK-SAME: align 32 %
59
58
}
0 commit comments