rust/tests/codegen/issues/issue-58881.rs
2023-03-20 10:25:29 +00:00

22 lines
453 B
Rust

// compile-flags: -C no-prepopulate-passes -Copt-level=0
//
// only-x86_64
// ignore-windows
#![crate_type = "lib"]
extern "C" {
fn variadic_fn(_: i32, ...);
}
#[repr(C)]
struct Foo(u8);
#[repr(C)]
struct Bar(u64, u64, u64);
// Ensure that emit arguments of the correct type.
pub unsafe fn test_call_variadic() {
// CHECK: call void (i32, ...) @variadic_fn(i32 0, i8 {{.*}}, {{%Bar\*|ptr}} {{.*}})
variadic_fn(0, Foo(0), Bar(0, 0, 0))
}