summary refs log tree commit diff
path: root/tests/codegen/cffi/c-variadic-naked.rs
blob: 807873ea3689f567f8620c797a515f9e49599b86 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//@ needs-asm-support
//@ only-x86_64

// tests that `va_start` is not injected into naked functions

#![crate_type = "lib"]
#![feature(c_variadic)]
#![feature(naked_functions)]
#![no_std]

#[naked]
pub unsafe extern "C" fn c_variadic(_: usize, _: ...) {
    // CHECK-NOT: va_start
    // CHECK-NOT: alloca
    core::arch::asm! {
        "ret",
        options(noreturn),
    }
}