about summary refs log tree commit diff
path: root/src/test/ui/asm/inline-syntax.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/asm/inline-syntax.rs')
-rw-r--r--src/test/ui/asm/inline-syntax.rs38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/test/ui/asm/inline-syntax.rs b/src/test/ui/asm/inline-syntax.rs
new file mode 100644
index 00000000000..9e9c7badfca
--- /dev/null
+++ b/src/test/ui/asm/inline-syntax.rs
@@ -0,0 +1,38 @@
+// revisions: x86_64 arm
+//[x86_64] compile-flags: --target x86_64-unknown-linux-gnu
+//[arm] compile-flags: --target armv7-unknown-linux-gnueabihf
+
+#![feature(no_core, lang_items, rustc_attrs)]
+#![no_core]
+
+#[rustc_builtin_macro]
+macro_rules! asm {
+    () => {};
+}
+
+#[lang = "sized"]
+trait Sized {}
+
+fn main() {
+    unsafe {
+        asm!(".intel_syntax noprefix", "nop");
+        //[x86_64]~^ ERROR intel syntax is the default syntax on this target
+        asm!(".intel_syntax aaa noprefix", "nop");
+        //[x86_64]~^ ERROR intel syntax is the default syntax on this target
+        asm!(".att_syntax noprefix", "nop");
+        //[x86_64]~^ ERROR using the .att_syntax directive may cause issues
+        //[arm]~^^ att syntax is the default syntax on this target
+        asm!(".att_syntax bbb noprefix", "nop");
+        //[x86_64]~^ ERROR using the .att_syntax directive may cause issues
+        //[arm]~^^ att syntax is the default syntax on this target
+        asm!(".intel_syntax noprefix; nop");
+        //[x86_64]~^ ERROR intel syntax is the default syntax on this target
+
+        asm!(
+            r"
+            .intel_syntax noprefix
+            nop"
+        );
+        //[x86_64]~^^^ ERROR intel syntax is the default syntax on this target
+    }
+}