blob: 15ae69cf0498c544032038fee14ba1c7e5681bc3 [file] [edit]
//@ add-minicore
//@ revisions: I586 X86_64 AARCH64
//@ [I586] compile-flags: -C no-prepopulate-passes --target=i586-unknown-linux-gnu
//@ [I586] needs-llvm-components: x86
//@ [X86_64] compile-flags: -C no-prepopulate-passes --target=x86_64-unknown-linux-gnu
//@ [X86_64] needs-llvm-components: x86
//@ [AARCH64] compile-flags: -C no-prepopulate-passes --target=aarch64-unknown-linux-gnu
//@ [AARCH64] needs-llvm-components: aarch64
#![crate_type = "lib"]
#![feature(no_core, rust_tail_cc, explicit_tail_calls)]
#![no_core]
extern crate minicore;
// CHECK: define{{( dso_local)?}} tailcc void @peach(i16
#[no_mangle]
#[inline(never)]
pub extern "tail" fn peach(_: u16) {
loop {}
}
// CHECK: call tailcc void @peach(i16
pub fn quince(x: u16) {
if let 12345u16 = x {
peach(54321);
}
}