Clarify error message when both asm! and global_asm! are unsupported

This commit is contained in:
Amanieu d'Antras 2021-04-26 19:49:26 +01:00
parent 0df83f8e5e
commit bb6bec1d55
3 changed files with 6 additions and 5 deletions

View File

@ -15,7 +15,8 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
// lowering the register contraints in this case.
let asm_arch = if self.sess.opts.actually_rustdoc { None } else { self.sess.asm_arch };
if asm_arch.is_none() && !self.sess.opts.actually_rustdoc {
struct_span_err!(self.sess, sp, E0472, "asm! is unsupported on this target").emit();
struct_span_err!(self.sess, sp, E0472, "inline assembly is unsupported on this target")
.emit();
}
if asm.options.contains(InlineAsmOptions::ATT_SYNTAX)
&& !matches!(asm_arch, Some(asm::InlineAsmArch::X86 | asm::InlineAsmArch::X86_64))

View File

@ -18,9 +18,9 @@ trait Sized {}
fn main() {
unsafe {
asm!("");
//~^ ERROR asm! is unsupported on this target
//~^ ERROR inline assembly is unsupported on this target
}
}
global_asm!("");
//~^ ERROR asm! is unsupported on this target
//~^ ERROR inline assembly is unsupported on this target

View File

@ -1,10 +1,10 @@
error[E0472]: asm! is unsupported on this target
error[E0472]: inline assembly is unsupported on this target
--> $DIR/bad-arch.rs:20:9
|
LL | asm!("");
| ^^^^^^^^^
error[E0472]: asm! is unsupported on this target
error[E0472]: inline assembly is unsupported on this target
--> $DIR/bad-arch.rs:25:1
|
LL | global_asm!("");