diff options
| author | Taiki Endo <te316e89@gmail.com> | 2024-11-01 22:12:55 +0900 |
|---|---|---|
| committer | Taiki Endo <te316e89@gmail.com> | 2024-11-01 22:12:55 +0900 |
| commit | 96e7eaf478f53cdf417ad681d2afa07b00abbdfd (patch) | |
| tree | ac8bbc17410f3a71f96f8325955b59ae5730c20c /tests/codegen/asm/global_asm_x2.rs | |
| parent | a8e1186e3c14a54f7a38cc1183117dc7e77f4f82 (diff) | |
| download | rust-96e7eaf478f53cdf417ad681d2afa07b00abbdfd.tar.gz rust-96e7eaf478f53cdf417ad681d2afa07b00abbdfd.zip | |
Move remaining inline assembly test files into asm directory
Diffstat (limited to 'tests/codegen/asm/global_asm_x2.rs')
| -rw-r--r-- | tests/codegen/asm/global_asm_x2.rs | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/tests/codegen/asm/global_asm_x2.rs b/tests/codegen/asm/global_asm_x2.rs new file mode 100644 index 00000000000..9e3a00f0680 --- /dev/null +++ b/tests/codegen/asm/global_asm_x2.rs @@ -0,0 +1,47 @@ +//@ 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() {} |
