diff --git a/src/tools/miri/tests/pass/c-variadic.rs b/src/tools/miri/tests/pass/c-variadic.rs new file mode 100644 index 000000000000..a1f03db6872f --- /dev/null +++ b/src/tools/miri/tests/pass/c-variadic.rs @@ -0,0 +1,18 @@ +#![feature(c_variadic)] + +use core::ffi::VaList; + +fn helper(ap: VaList) -> i32 { + // unsafe { ap.arg::() } + let _ = ap; + 0 +} + +unsafe extern "C" fn variadic(a: i32, ap: ...) -> i32 { + assert_eq!(a, 42); + helper(ap) +} + +fn main() { + assert_eq!(unsafe { variadic(42, 1) }, 1); +}