diff options
Diffstat (limited to 'src/test/ui/llvm-asm/llvm-asm-out-no-modifier.rs')
| -rw-r--r-- | src/test/ui/llvm-asm/llvm-asm-out-no-modifier.rs | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/test/ui/llvm-asm/llvm-asm-out-no-modifier.rs b/src/test/ui/llvm-asm/llvm-asm-out-no-modifier.rs new file mode 100644 index 00000000000..d198437c508 --- /dev/null +++ b/src/test/ui/llvm-asm/llvm-asm-out-no-modifier.rs @@ -0,0 +1,31 @@ +// ignore-s390x +// ignore-emscripten +// ignore-powerpc +// ignore-powerpc64 +// ignore-powerpc64le +// ignore-sparc +// ignore-sparc64 +// ignore-mips +// ignore-mips64 + +#![feature(llvm_asm)] + +fn foo(x: isize) { println!("{}", x); } + +#[cfg(any(target_arch = "x86", + target_arch = "x86_64", + target_arch = "arm", + target_arch = "aarch64"))] +pub fn main() { + let x: isize; + unsafe { + llvm_asm!("mov $1, $0" : "r"(x) : "r"(5)); //~ ERROR output operand constraint lacks '=' + } + foo(x); +} + +#[cfg(not(any(target_arch = "x86", + target_arch = "x86_64", + target_arch = "arm", + target_arch = "aarch64")))] +pub fn main() {} |
