1
1
// compile-flags: -C no-prepopulate-passes
2
+ // ignore-tidy-linelength
2
3
3
4
#![ crate_type = "lib" ]
4
5
#![ feature( c_variadic) ]
@@ -14,13 +15,13 @@ extern "C" {
14
15
#[ unwind( aborts) ] // FIXME(#58794)
15
16
pub unsafe extern "C" fn use_foreign_c_variadic_0 ( ) {
16
17
// Ensure that we correctly call foreign C-variadic functions.
17
- // CHECK: invoke void (i32, ...) @foreign_c_variadic_0(i32 0)
18
+ // CHECK: invoke void (i32, ...) @foreign_c_variadic_0([[PARAM: i32( signext)?]] 0)
18
19
foreign_c_variadic_0 ( 0 ) ;
19
- // CHECK: invoke void (i32, ...) @foreign_c_variadic_0(i32 0, i32 42)
20
+ // CHECK: invoke void (i32, ...) @foreign_c_variadic_0([[PARAM]] 0, [[PARAM]] 42)
20
21
foreign_c_variadic_0 ( 0 , 42i32 ) ;
21
- // CHECK: invoke void (i32, ...) @foreign_c_variadic_0(i32 0, i32 42, i32 1024)
22
+ // CHECK: invoke void (i32, ...) @foreign_c_variadic_0([[PARAM]] 0, [[PARAM]] 42, [[PARAM]] 1024)
22
23
foreign_c_variadic_0 ( 0 , 42i32 , 1024i32 ) ;
23
- // CHECK: invoke void (i32, ...) @foreign_c_variadic_0(i32 0, i32 42, i32 1024, i32 0)
24
+ // CHECK: invoke void (i32, ...) @foreign_c_variadic_0([[PARAM]] 0, [[PARAM]] 42, [[PARAM]] 1024, [[PARAM]] 0)
24
25
foreign_c_variadic_0 ( 0 , 42i32 , 1024i32 , 0i32 ) ;
25
26
}
26
27
@@ -34,18 +35,18 @@ pub unsafe extern "C" fn use_foreign_c_variadic_1_0(ap: VaList) {
34
35
35
36
#[ unwind( aborts) ] // FIXME(#58794)
36
37
pub unsafe extern "C" fn use_foreign_c_variadic_1_1 ( ap : VaList ) {
37
- // CHECK: invoke void ({{.*}}*, ...) @foreign_c_variadic_1({{.*}} %ap, i32 42)
38
+ // CHECK: invoke void ({{.*}}*, ...) @foreign_c_variadic_1({{.*}} %ap, [[PARAM]] 42)
38
39
foreign_c_variadic_1 ( ap, 42i32 ) ;
39
40
}
40
41
#[ unwind( aborts) ] // FIXME(#58794)
41
42
pub unsafe extern "C" fn use_foreign_c_variadic_1_2 ( ap : VaList ) {
42
- // CHECK: invoke void ({{.*}}*, ...) @foreign_c_variadic_1({{.*}} %ap, i32 2, i32 42)
43
+ // CHECK: invoke void ({{.*}}*, ...) @foreign_c_variadic_1({{.*}} %ap, [[PARAM]] 2, [[PARAM]] 42)
43
44
foreign_c_variadic_1 ( ap, 2i32 , 42i32 ) ;
44
45
}
45
46
46
47
#[ unwind( aborts) ] // FIXME(#58794)
47
48
pub unsafe extern "C" fn use_foreign_c_variadic_1_3 ( ap : VaList ) {
48
- // CHECK: invoke void ({{.*}}*, ...) @foreign_c_variadic_1({{.*}} %ap, i32 2, i32 42, i32 0)
49
+ // CHECK: invoke void ({{.*}}*, ...) @foreign_c_variadic_1({{.*}} %ap, [[PARAM]] 2, [[PARAM]] 42, [[PARAM]] 0)
49
50
foreign_c_variadic_1 ( ap, 2i32 , 42i32 , 0i32 ) ;
50
51
}
51
52
@@ -64,12 +65,12 @@ pub unsafe extern "C" fn c_variadic(n: i32, mut ap: ...) -> i32 {
64
65
// Ensure that we generate the correct `call` signature when calling a Rust
65
66
// defined C-variadic.
66
67
pub unsafe fn test_c_variadic_call ( ) {
67
- // CHECK: call i32 (i32, ...) @c_variadic(i32 0)
68
+ // CHECK: call [[RET:(signext )? i32]] (i32, ...) @c_variadic([[PARAM]] 0)
68
69
c_variadic ( 0 ) ;
69
- // CHECK: call i32 (i32, ...) @c_variadic(i32 0, i32 42)
70
+ // CHECK: call [[RET]] (i32, ...) @c_variadic([[PARAM]] 0, [[PARAM]] 42)
70
71
c_variadic ( 0 , 42i32 ) ;
71
- // CHECK: call i32 (i32, ...) @c_variadic(i32 0, i32 42, i32 1024)
72
+ // CHECK: call [[RET]] (i32, ...) @c_variadic([[PARAM]] 0, [[PARAM]] 42, [[PARAM]] 1024)
72
73
c_variadic ( 0 , 42i32 , 1024i32 ) ;
73
- // CHECK: call i32 (i32, ...) @c_variadic(i32 0, i32 42, i32 1024, i32 0)
74
+ // CHECK: call [[RET]] (i32, ...) @c_variadic([[PARAM]] 0, [[PARAM]] 42, [[PARAM]] 1024, [[PARAM]] 0)
74
75
c_variadic ( 0 , 42i32 , 1024i32 , 0i32 ) ;
75
76
}
0 commit comments