diff options
Diffstat (limited to 'tests/ui/asm/simple_global_asm.rs')
| -rw-r--r-- | tests/ui/asm/simple_global_asm.rs | 30 | 
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/ui/asm/simple_global_asm.rs b/tests/ui/asm/simple_global_asm.rs new file mode 100644 index 00000000000..9b193b3e44c --- /dev/null +++ b/tests/ui/asm/simple_global_asm.rs @@ -0,0 +1,30 @@ +//@ run-pass +//@ needs-asm-support + +#![feature(naked_functions)] +#![allow(dead_code)] + +#[cfg(any(target_arch = "x86_64", target_arch = "x86"))] +core::arch::global_asm!( + r#" + .global foo + .global _foo +foo: +_foo: + ret +"# +); + +extern "C" { + fn foo(); +} + +#[cfg(any(target_arch = "x86_64", target_arch = "x86"))] +fn main() { + unsafe { + foo(); + } +} + +#[cfg(not(any(target_arch = "x86_64", target_arch = "x86")))] +fn main() {}  | 
