about summary refs log tree commit diff
path: root/tests/ui/asm/inline-syntax.rs
diff options
context:
space:
mode:
authorbeetrees <b@beetr.ee>2024-08-17 05:32:09 +0100
committerbeetrees <b@beetr.ee>2024-11-26 13:00:08 +0000
commit68227a3777c7bf8ba6a69e2b8871d224504d1c31 (patch)
tree663e6bc486cd00472f24f82dfe92b3ef17c01188 /tests/ui/asm/inline-syntax.rs
parentf2abf827c128120ed7a874d02973947968c158b8 (diff)
downloadrust-68227a3777c7bf8ba6a69e2b8871d224504d1c31.tar.gz
rust-68227a3777c7bf8ba6a69e2b8871d224504d1c31.zip
Pass end position of span through inline ASM cookie
Diffstat (limited to 'tests/ui/asm/inline-syntax.rs')
-rw-r--r--tests/ui/asm/inline-syntax.rs16
1 files changed, 14 insertions, 2 deletions
diff --git a/tests/ui/asm/inline-syntax.rs b/tests/ui/asm/inline-syntax.rs
index b8486527e6f..fda79b2afa3 100644
--- a/tests/ui/asm/inline-syntax.rs
+++ b/tests/ui/asm/inline-syntax.rs
@@ -1,10 +1,16 @@
-//@ revisions: x86_64 arm
+//@ revisions: x86_64 arm_llvm_18 arm
 //@[x86_64] compile-flags: --target x86_64-unknown-linux-gnu
 //@[x86_64] check-pass
 //@[x86_64] needs-llvm-components: x86
+//@[arm_llvm_18] compile-flags: --target armv7-unknown-linux-gnueabihf
+//@[arm_llvm_18] build-fail
+//@[arm_llvm_18] needs-llvm-components: arm
+//@[arm_llvm_18] ignore-llvm-version: 19 - 99
+// LLVM 19+ has full support for 64-bit cookies.
 //@[arm] compile-flags: --target armv7-unknown-linux-gnueabihf
 //@[arm] build-fail
 //@[arm] needs-llvm-components: arm
+//@[arm] min-llvm-version: 19
 //@ needs-asm-support
 
 #![feature(no_core, lang_items, rustc_attrs)]
@@ -29,18 +35,23 @@ pub fn main() {
         asm!(".intel_syntax noprefix", "nop");
         //[x86_64]~^ WARN avoid using `.intel_syntax`
         //[arm]~^^ ERROR unknown directive
+        //[arm_llvm_18]~^^^ ERROR unknown directive
         asm!(".intel_syntax aaa noprefix", "nop");
         //[x86_64]~^ WARN avoid using `.intel_syntax`
         //[arm]~^^ ERROR unknown directive
+        //[arm_llvm_18]~^^^ ERROR unknown directive
         asm!(".att_syntax noprefix", "nop");
         //[x86_64]~^ WARN avoid using `.att_syntax`
         //[arm]~^^ ERROR unknown directive
+        //[arm_llvm_18]~^^^ ERROR unknown directive
         asm!(".att_syntax bbb noprefix", "nop");
         //[x86_64]~^ WARN avoid using `.att_syntax`
         //[arm]~^^ ERROR unknown directive
+        //[arm_llvm_18]~^^^ ERROR unknown directive
         asm!(".intel_syntax noprefix; nop");
         //[x86_64]~^ WARN avoid using `.intel_syntax`
         //[arm]~^^ ERROR unknown directive
+        //[arm_llvm_18]~^^^ ERROR unknown directive
 
         asm!(
             r"
@@ -49,9 +60,10 @@ pub fn main() {
         );
         //[x86_64]~^^^ WARN avoid using `.intel_syntax`
         //[arm]~^^^^ ERROR unknown directive
+        //[arm_llvm_18]~^^^^^ ERROR unknown directive
     }
 }
 
 global_asm!(".intel_syntax noprefix", "nop");
 //[x86_64]~^ WARN avoid using `.intel_syntax`
-// Assembler errors don't have line numbers, so no error on ARM
+// Global assembly errors don't have line numbers, so no error on ARM.