//@ revisions: x32 x64 //@[x32] only-x86 //@[x64] only-x86_64 //@ compile-flags: -C no-prepopulate-passes #![crate_type = "lib"] #![no_std] use core::arch::global_asm; // CHECK-LABEL: foo // CHECK: module asm // CHECK: module asm "{{[[:space:]]+}}jmp baz" // any other global_asm will be appended to this first block, so: // CHECK-LABEL: bar // CHECK: module asm "{{[[:space:]]+}}jmp quux" global_asm!( r#" .global foo foo: jmp baz "# ); extern "C" { fn foo(); } // CHECK-LABEL: @baz #[no_mangle] pub unsafe extern "C" fn baz() {} // no checks here; this has been appended to the first occurrence global_asm!( r#" .global bar bar: jmp quux "# ); extern "C" { fn bar(); } #[no_mangle] pub unsafe extern "C" fn quux() {}