diff options
Diffstat (limited to 'tests/ui/asm/aarch64/duplicate-options.rs')
-rw-r--r-- | tests/ui/asm/aarch64/duplicate-options.rs | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/ui/asm/aarch64/duplicate-options.rs b/tests/ui/asm/aarch64/duplicate-options.rs new file mode 100644 index 000000000..b2d3fe7d9 --- /dev/null +++ b/tests/ui/asm/aarch64/duplicate-options.rs @@ -0,0 +1,27 @@ +// only-aarch64 +// needs-asm-support +// run-rustfix + +use std::arch::asm; + +fn main() { + unsafe { + asm!("", options(nomem, nomem)); + //~^ ERROR the `nomem` option was already provided + asm!("", options(preserves_flags, preserves_flags)); + //~^ ERROR the `preserves_flags` option was already provided + asm!("", options(nostack, preserves_flags), options(nostack)); + //~^ ERROR the `nostack` option was already provided + asm!("", options(nostack, nostack), options(nostack), options(nostack)); + //~^ ERROR the `nostack` option was already provided + //~| ERROR the `nostack` option was already provided + //~| ERROR the `nostack` option was already provided + asm!( + "", + options(nomem, noreturn), + options(preserves_flags, noreturn), //~ ERROR the `noreturn` option was already provided + options(nomem, nostack), //~ ERROR the `nomem` option was already provided + options(noreturn), //~ ERROR the `noreturn` option was already provided + ); + } +} |