11// compile-flags: -C no-prepopulate-passes
22// ignore-tidy-linelength
33
4+ // min-system-llvm-version: 9.0
45// ignore-arm
56// ignore-mips
67// ignore-mips64
78// ignore-powerpc
89// ignore-powerpc64
10+ // ignore-windows
911// See repr-transparent.rs
1012
1113#![ feature( transparent_enums, transparent_unions) ]
@@ -30,19 +32,19 @@ pub enum TeBigS {
3032 Variant ( BigS ) ,
3133}
3234
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 :.*]])
3436#[ no_mangle]
3537pub extern fn test_BigS ( _: BigS ) -> BigS { loop { } }
3638
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:.* ]])
3840#[ no_mangle]
3941pub extern fn test_TsBigS ( _: TsBigS ) -> TsBigS { loop { } }
4042
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:.* ]])
4244#[ no_mangle]
4345pub extern fn test_TuBigS ( _: TuBigS ) -> TuBigS { loop { } }
4446
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 ]])
4648#[ no_mangle]
4749pub extern fn test_TeBigS ( _: TeBigS ) -> TeBigS { loop { } }
4850
@@ -66,18 +68,18 @@ pub enum TeBigU {
6668 Variant ( BigU ) ,
6769}
6870
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 :.*]])
7072#[ no_mangle]
7173pub extern fn test_BigU ( _: BigU ) -> BigU { loop { } }
7274
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 ]])
7476#[ no_mangle]
7577pub extern fn test_TsBigU ( _: TsBigU ) -> TsBigU { loop { } }
7678
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 ]])
7880#[ no_mangle]
7981pub extern fn test_TuBigU ( _: TuBigU ) -> TuBigU { loop { } }
8082
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 ]])
8284#[ no_mangle]
8385pub extern fn test_TeBigU ( _: TeBigU ) -> TeBigU { loop { } }
0 commit comments