| //@ add-minicore | |
| //@ revisions: X86 AARCH64 UNSUPPORTED | |
| //@ [X86] compile-flags: -C no-prepopulate-passes --target=x86_64-unknown-linux-gnu | |
| //@ [X86] needs-llvm-components: x86 | |
| //@ [AARCH64] compile-flags: -C no-prepopulate-passes --target=aarch64-unknown-linux-gnu | |
| //@ [AARCH64] needs-llvm-components: aarch64 | |
| //@ [UNSUPPORTED] compile-flags: -C no-prepopulate-passes --target=i686-unknown-linux-gnu | |
| //@ [UNSUPPORTED] needs-llvm-components: x86 | |
| #![crate_type = "lib"] | |
| #![feature(rust_preserve_none_cc)] | |
| #![feature(no_core, lang_items)] | |
| #![no_core] | |
| extern crate minicore; | |
| // X86: define{{( dso_local)?}} preserve_nonecc void @peach(i16 | |
| // AARCH64: define{{( dso_local)?}} preserve_nonecc void @peach(i16 | |
| // UNSUPPORTED: define{{( dso_local)?}} void @peach(i16 | |
| #[no_mangle] | |
| #[inline(never)] | |
| pub extern "rust-preserve-none" fn peach(_: u16) { | |
| loop {} | |
| } | |
| // X86: call preserve_nonecc void @peach(i16 | |
| // AARCH64: call preserve_nonecc void @peach(i16 | |
| // UNSUPPORTED: call void @peach(i16 | |
| pub fn quince(x: u16) { | |
| if let 12345u16 = x { | |
| peach(54321); | |
| } | |
| } |