rust/tests/ui/asm
Matthias Krüger b6b8330b9d
Rollup merge of #128305 - folkertdev:asm-parser-unsupported-operand, r=Amanieu
improve error message when `global_asm!` uses `asm!` operands

follow-up to https://github.com/rust-lang/rust/pull/128207

what was

```
error: expected expression, found keyword `in`
 --> src/lib.rs:1:31
  |
1 | core::arch::global_asm!("{}", in(reg));
  |                               ^^ expected expression
```

becomes

```
error: the `in` operand cannot be used with `global_asm!`
  --> $DIR/parse-error.rs:150:19
   |
LL | global_asm!("{}", in(reg));
   |                   ^^ the `in` operand is not meaningful for global-scoped inline assembly, remove it
```

the span of the error is just the keyword, which means that we can't create a machine-applicable suggestion here. The alternative would be to attempt to parse the full operand, but then if there are syntax errors in the operand those would  be presented to the user, even though the parser already knows that the output won't be valid. Also that would require more complexity in the parser.

So I think this is a nice improvement at very low cost.
2024-08-04 11:32:33 +02:00
..
aarch64 update aarch64 asm tests 2024-07-27 19:08:59 +02:00
x86_64 improve error message when global_asm! uses asm! options 2024-07-25 22:33:52 +02:00
arm-low-dreg.rs compiler: Fix arm32 asm issues by hierarchically sorting reg classes 2024-06-22 21:39:58 -07:00
bad-arch.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
bad-arch.stderr trigger unsafe_code on global_asm! invocations 2024-02-20 00:14:53 +01:00
bad-template.aarch64.stderr Update tests 2024-03-03 09:24:38 -05:00
bad-template.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
bad-template.x86_64.stderr Update tests 2024-03-03 09:24:38 -05:00
binary_asm_labels_allowed.rs Change binary_asm_labels to only fire on x86 and x86_64 2024-07-18 15:00:56 -05:00
binary_asm_labels.rs add lint for inline asm labels that look like binary 2024-07-09 01:23:49 +00:00
binary_asm_labels.stderr Update the binary_asm_label message 2024-07-18 17:00:43 -04:00
const-error.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
const-error.stderr make sure we still eagerly emit errors 2023-11-25 18:00:35 +00:00
empty_global_asm.rs Move 100 entries from tests/ui into subdirs 2024-05-20 19:55:59 -07:00
fail-const-eval-issue-121099.rs Update test with //@ needs-asm-support 2024-03-18 22:33:04 -04:00
fail-const-eval-issue-121099.stderr Update test with //@ needs-asm-support 2024-03-18 22:33:04 -04:00
generic-const.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
inline-syntax.arm_llvm_18.stderr Fix two UI tests with incorrect directive / invalid revision 2024-02-14 09:13:53 +00:00
inline-syntax.arm.stderr Fix two UI tests with incorrect directive / invalid revision 2024-02-14 09:13:53 +00:00
inline-syntax.rs Remove useless configs in tests 2024-04-07 01:16:45 +02:00
inline-syntax.x86_64.stderr Fix two UI tests with incorrect directive / invalid revision 2024-02-14 09:13:53 +00:00
issue-72570.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-72570.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-85247.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-85247.rwpi.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-87802.rs Update test directives for wasm32-wasip1 2024-03-11 09:36:35 -07:00
issue-87802.stderr Update test directives for wasm32-wasip1 2024-03-11 09:36:35 -07:00
issue-89305.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-89305.stderr
issue-92378.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-97490.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-99071.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-99071.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-99122-2.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-99122.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-99122.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-113788.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-113788.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
may_unwind.rs Add needs-unwind annotations to a couple of tests 2024-03-25 14:19:07 +00:00
naked-functions-ffi.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
naked-functions-ffi.stderr
naked-functions-inline.rs switch to an allowlist approach 2024-07-27 12:55:39 +02:00
naked-functions-inline.stderr switch to an allowlist approach 2024-07-27 12:55:39 +02:00
naked-functions-instruction-set.rs switch to an allowlist approach 2024-07-27 12:55:39 +02:00
naked-functions-testattrs.rs switch to an allowlist approach 2024-07-27 12:55:39 +02:00
naked-functions-testattrs.stderr switch to an allowlist approach 2024-07-27 12:55:39 +02:00
naked-functions-unused.aarch64.stderr
naked-functions-unused.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
naked-functions-unused.x86_64.stderr
naked-functions.rs make /// doc comments compatible with naked functions 2024-07-30 12:20:18 +02:00
naked-functions.stderr Rollup merge of #127853 - folkertdev:naked-function-error-messages, r=bjorn3 2024-07-28 08:57:16 +02:00
naked-invalid-attr.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
naked-invalid-attr.stderr
named-asm-labels.rs add lint for inline asm labels that look like binary 2024-07-09 01:23:49 +00:00
named-asm-labels.s
named-asm-labels.stderr add lint for inline asm labels that look like binary 2024-07-09 01:23:49 +00:00
noreturn.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
parse-error.rs improve error message when global asm uses inline asm operands 2024-07-28 15:11:32 +02:00
parse-error.stderr improve error message when global asm uses inline asm operands 2024-07-28 15:11:32 +02:00
reg-conflict.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
reg-conflict.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
simple_global_asm.rs Move 100 entries from tests/ui into subdirs 2024-05-20 19:55:59 -07:00
type-check-1.rs Update test directives for wasm32-wasip1 2024-03-11 09:36:35 -07:00
type-check-1.stderr Account for let foo = expr; to suggest const foo: Ty = expr; 2024-07-11 20:39:24 +00:00
type-check-4.rs Update test directives for wasm32-wasip1 2024-03-11 09:36:35 -07:00
type-check-4.stderr Update test directives for wasm32-wasip1 2024-03-11 09:36:35 -07:00
unpretty-expanded.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
unpretty-expanded.stdout [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
unsupported-option.fixed add needs-asm-support to tests/ui/asm/unsupported-option.rs 2024-07-27 19:27:20 +02:00
unsupported-option.rs add needs-asm-support to tests/ui/asm/unsupported-option.rs 2024-07-27 19:27:20 +02:00
unsupported-option.stderr add needs-asm-support to tests/ui/asm/unsupported-option.rs 2024-07-27 19:27:20 +02:00