1
1
// compile-flags: -C no-prepopulate-passes
2
2
// ignore-tidy-linelength
3
3
4
+ // min-system-llvm-version: 9.0
4
5
// ignore-arm
5
6
// ignore-mips
6
7
// ignore-mips64
7
8
// ignore-powerpc
8
9
// ignore-powerpc64
10
+ // ignore-windows
9
11
// See repr-transparent.rs
10
12
11
13
#![ feature( transparent_enums, transparent_unions) ]
@@ -30,19 +32,19 @@ pub enum TeBigS {
30
32
Variant ( BigS ) ,
31
33
}
32
34
33
- // CHECK: define void @test_BigS(%BigS* [[BIGS_RET_ATTRS:.*]], %BigS* [[BIGS_ARG_ATTRS :.*]])
35
+ // CHECK: define void @test_BigS(%BigS* [[BIGS_RET_ATTRS:.*]], %BigS* [[BIGS_ARG_ATTRS1:.*]] byval(%BigS) [[BIGS_ARG_ATTRS2 :.*]])
34
36
#[ no_mangle]
35
37
pub extern fn test_BigS ( _: BigS ) -> BigS { loop { } }
36
38
37
- // CHECK: define void @test_TsBigS(%TsBigS* [[BIGS_RET_ATTRS]], %TsBigS* [[BIGS_ARG_ATTRS ]])
39
+ // CHECK: define void @test_TsBigS(%TsBigS* [[BIGS_RET_ATTRS]], %TsBigS* [[BIGS_ARG_ATTRS1]] byval(%TsBigS) [[BIGS_ARG_ATTRS2:.* ]])
38
40
#[ no_mangle]
39
41
pub extern fn test_TsBigS ( _: TsBigS ) -> TsBigS { loop { } }
40
42
41
- // CHECK: define void @test_TuBigS(%TuBigS* [[BIGS_RET_ATTRS]], %TuBigS* [[BIGS_ARG_ATTRS ]])
43
+ // CHECK: define void @test_TuBigS(%TuBigS* [[BIGS_RET_ATTRS]], %TuBigS* [[BIGS_ARG_ATTRS1]] byval(%TuBigS) [[BIGS_ARG_ATTRS2:.* ]])
42
44
#[ no_mangle]
43
45
pub extern fn test_TuBigS ( _: TuBigS ) -> TuBigS { loop { } }
44
46
45
- // CHECK: define void @test_TeBigS(%"TeBigS::Variant"* [[BIGS_RET_ATTRS]], %"TeBigS::Variant"* [[BIGS_ARG_ATTRS ]])
47
+ // CHECK: define void @test_TeBigS(%"TeBigS::Variant"* [[BIGS_RET_ATTRS]], %"TeBigS::Variant"* [[BIGS_ARG_ATTRS1]] byval(%"TeBigS::Variant") [[BIGS_ARG_ATTRS2 ]])
46
48
#[ no_mangle]
47
49
pub extern fn test_TeBigS ( _: TeBigS ) -> TeBigS { loop { } }
48
50
@@ -66,18 +68,18 @@ pub enum TeBigU {
66
68
Variant ( BigU ) ,
67
69
}
68
70
69
- // CHECK: define void @test_BigU(%BigU* [[BIGU_RET_ATTRS:.*]], %BigU* [[BIGU_ARG_ATTRS :.*]])
71
+ // CHECK: define void @test_BigU(%BigU* [[BIGU_RET_ATTRS:.*]], %BigU* [[BIGU_ARG_ATTRS1:.*]] byval(%BigU) [[BIGU_ARG_ATTRS2 :.*]])
70
72
#[ no_mangle]
71
73
pub extern fn test_BigU ( _: BigU ) -> BigU { loop { } }
72
74
73
- // CHECK: define void @test_TsBigU(%TsBigU* [[BIGU_RET_ATTRS:.*]], %TsBigU* [[BIGU_ARG_ATTRS ]])
75
+ // CHECK: define void @test_TsBigU(%TsBigU* [[BIGU_RET_ATTRS:.*]], %TsBigU* [[BIGU_ARG_ATTRS1]] byval(%TsBigU) [[BIGU_ARG_ATTRS2 ]])
74
76
#[ no_mangle]
75
77
pub extern fn test_TsBigU ( _: TsBigU ) -> TsBigU { loop { } }
76
78
77
- // CHECK: define void @test_TuBigU(%TuBigU* [[BIGU_RET_ATTRS]], %TuBigU* [[BIGU_ARG_ATTRS ]])
79
+ // CHECK: define void @test_TuBigU(%TuBigU* [[BIGU_RET_ATTRS]], %TuBigU* [[BIGU_ARG_ATTRS1]] byval(%TuBigU) [[BIGU_ARG_ATTRS2 ]])
78
80
#[ no_mangle]
79
81
pub extern fn test_TuBigU ( _: TuBigU ) -> TuBigU { loop { } }
80
82
81
- // CHECK: define void @test_TeBigU(%"TeBigU::Variant"* [[BIGU_RET_ATTRS]], %"TeBigU::Variant"* [[BIGU_ARG_ATTRS ]])
83
+ // CHECK: define void @test_TeBigU(%"TeBigU::Variant"* [[BIGU_RET_ATTRS]], %"TeBigU::Variant"* [[BIGU_ARG_ATTRS1]] byval(%"TeBigU::Variant") [[BIGU_ARG_ATTRS2 ]])
82
84
#[ no_mangle]
83
85
pub extern fn test_TeBigU ( _: TeBigU ) -> TeBigU { loop { } }
0 commit comments