summary refs log tree commit diff
path: root/tests/codegen/naked-fn/aligned.rs
blob: 3bbd67981e5bf2fe8e07b52affc0bde57b299c90 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//@ compile-flags: -C no-prepopulate-passes -Copt-level=0
//@ needs-asm-support
//@ ignore-arm no "ret" mnemonic

#![crate_type = "lib"]
#![feature(naked_functions, fn_align)]
use std::arch::naked_asm;

// CHECK: Function Attrs: naked
// CHECK-NEXT: define{{.*}}void @naked_empty()
// CHECK: align 16
#[repr(align(16))]
#[no_mangle]
#[naked]
pub unsafe extern "C" fn naked_empty() {
    // CHECK-NEXT: start:
    // CHECK-NEXT: call void asm
    // CHECK-NEXT: unreachable
    naked_asm!("ret");
}