diff options
Diffstat (limited to 'tests/codegen-llvm/cffi/c-variadic-naked.rs')
| -rw-r--r-- | tests/codegen-llvm/cffi/c-variadic-naked.rs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/codegen-llvm/cffi/c-variadic-naked.rs b/tests/codegen-llvm/cffi/c-variadic-naked.rs new file mode 100644 index 00000000000..5843628b633 --- /dev/null +++ b/tests/codegen-llvm/cffi/c-variadic-naked.rs @@ -0,0 +1,15 @@ +//@ needs-asm-support +//@ only-x86_64 + +// tests that `va_start` is not injected into naked functions + +#![crate_type = "lib"] +#![feature(c_variadic)] +#![no_std] + +#[unsafe(naked)] +pub unsafe extern "C" fn c_variadic(_: usize, _: ...) { + // CHECK-NOT: va_start + // CHECK-NOT: alloca + core::arch::naked_asm!("ret") +} |
