1 // revisions: x86_64 arm
2 //[x86_64] compile-flags: --target x86_64-unknown-linux-gnu
4 //[x86_64] needs-llvm-components: x86
5 //[x86_64_allowed] compile-flags: --target x86_64-unknown-linux-gnu
6 //[x86_64_allowed] check-pass
7 //[x86_64_allowed] needs-llvm-components: x86
8 //[arm] compile-flags: --target armv7-unknown-linux-gnueabihf
10 //[arm] needs-llvm-components: arm
12 #![feature(no_core, lang_items, rustc_attrs)]
13 #![crate_type = "rlib"]
15 #![cfg_attr(x86_64_allowed, allow(bad_asm_style))]
17 #[rustc_builtin_macro]
21 #[rustc_builtin_macro]
22 macro_rules! global_asm {
31 asm!(".intel_syntax noprefix", "nop");
32 //[x86_64]~^ WARN avoid using `.intel_syntax`
33 //[arm]~^^ ERROR unknown directive
34 asm!(".intel_syntax aaa noprefix", "nop");
35 //[x86_64]~^ WARN avoid using `.intel_syntax`
36 //[arm]~^^ ERROR unknown directive
37 asm!(".att_syntax noprefix", "nop");
38 //[x86_64]~^ WARN avoid using `.att_syntax`
39 //[arm]~^^ ERROR unknown directive
40 asm!(".att_syntax bbb noprefix", "nop");
41 //[x86_64]~^ WARN avoid using `.att_syntax`
42 //[arm]~^^ ERROR unknown directive
43 asm!(".intel_syntax noprefix; nop");
44 //[x86_64]~^ WARN avoid using `.intel_syntax`
45 //[arm]~^^ ERROR unknown directive
49 .intel_syntax noprefix
52 //[x86_64]~^^^ WARN avoid using `.intel_syntax`
53 //[arm]~^^^^ ERROR unknown directive
57 global_asm!(".intel_syntax noprefix", "nop");
58 //[x86_64]~^ WARN avoid using `.intel_syntax`
59 // Assembler errors don't have line numbers, so no error on ARM