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
13 #![feature(no_core, lang_items, rustc_attrs)]
14 #![crate_type = "rlib"]
16 #![cfg_attr(x86_64_allowed, allow(bad_asm_style))]
18 #[rustc_builtin_macro]
22 #[rustc_builtin_macro]
23 macro_rules! global_asm {
32 asm!(".intel_syntax noprefix", "nop");
33 //[x86_64]~^ WARN avoid using `.intel_syntax`
34 //[arm]~^^ ERROR unknown directive
35 asm!(".intel_syntax aaa noprefix", "nop");
36 //[x86_64]~^ WARN avoid using `.intel_syntax`
37 //[arm]~^^ ERROR unknown directive
38 asm!(".att_syntax noprefix", "nop");
39 //[x86_64]~^ WARN avoid using `.att_syntax`
40 //[arm]~^^ ERROR unknown directive
41 asm!(".att_syntax bbb noprefix", "nop");
42 //[x86_64]~^ WARN avoid using `.att_syntax`
43 //[arm]~^^ ERROR unknown directive
44 asm!(".intel_syntax noprefix; nop");
45 //[x86_64]~^ WARN avoid using `.intel_syntax`
46 //[arm]~^^ ERROR unknown directive
50 .intel_syntax noprefix
53 //[x86_64]~^^^ WARN avoid using `.intel_syntax`
54 //[arm]~^^^^ ERROR unknown directive
58 global_asm!(".intel_syntax noprefix", "nop");
59 //[x86_64]~^ WARN avoid using `.intel_syntax`
60 // Assembler errors don't have line numbers, so no error on ARM