diff options
| author | Dylan DPC <99973273+Dylan-DPC@users.noreply.github.com> | 2022-07-13 19:32:36 +0530 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-07-13 19:32:36 +0530 |
| commit | 68cfdbb5c1a6f5c7d796df65701edfd0abee89f4 (patch) | |
| tree | feec2d8fddb9c59fcc2018d9cca71399b6eacb59 /src/test | |
| parent | 980579a5e9f5fcad63ef71f536efec15ccd56511 (diff) | |
| parent | dfe68eede3cef45c8a420aeb8ab4a57426662e04 (diff) | |
| download | rust-68cfdbb5c1a6f5c7d796df65701edfd0abee89f4.tar.gz rust-68cfdbb5c1a6f5c7d796df65701edfd0abee89f4.zip | |
Rollup merge of #99155 - Amanieu:unstable-target-features, r=davidtwco
Keep unstable target features for asm feature checking Inline assembly uses the target features to determine which registers are available on the current target. However it needs to be able to access unstable target features for this. Fixes #99071
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/ui/asm/issue-99071.rs | 21 | ||||
| -rw-r--r-- | src/test/ui/asm/issue-99071.stderr | 8 |
2 files changed, 29 insertions, 0 deletions
diff --git a/src/test/ui/asm/issue-99071.rs b/src/test/ui/asm/issue-99071.rs new file mode 100644 index 00000000000..bb6201861df --- /dev/null +++ b/src/test/ui/asm/issue-99071.rs @@ -0,0 +1,21 @@ +// compile-flags: --target thumbv6m-none-eabi +// needs-llvm-components: arm +// needs-asm-support + +#![feature(no_core, lang_items, rustc_attrs)] +#![no_core] +#![crate_type = "rlib"] + +#[rustc_builtin_macro] +macro_rules! asm { + () => {}; +} +#[lang = "sized"] +trait Sized {} + +pub fn foo() { + unsafe { + asm!("", in("r8") 0); + //~^ cannot use register `r8`: high registers (r8+) can only be used as clobbers in Thumb-1 code + } +} diff --git a/src/test/ui/asm/issue-99071.stderr b/src/test/ui/asm/issue-99071.stderr new file mode 100644 index 00000000000..47386ffa4a8 --- /dev/null +++ b/src/test/ui/asm/issue-99071.stderr @@ -0,0 +1,8 @@ +error: cannot use register `r8`: high registers (r8+) can only be used as clobbers in Thumb-1 code + --> $DIR/issue-99071.rs:18:18 + | +LL | asm!("", in("r8") 0); + | ^^^^^^^^^^ + +error: aborting due to previous error + |
