@@ -43,13 +43,13 @@ format_string := STRING_LITERAL / RAW_STRING_LITERAL
43
43
dir_spec := "in" / "out" / "lateout" / "inout" / "inlateout"
44
44
reg_spec := <register class> / "\"" <explicit register> "\""
45
45
operand_expr := expr / "_" / expr "=>" expr / expr "=>" "_"
46
- reg_operand := dir_spec "(" reg_spec ")" operand_expr
47
- operand := reg_operand
46
+ reg_operand := [ident "="] dir_spec "(" reg_spec ")" operand_expr
48
47
clobber_abi := "clobber_abi(" <abi> *("," <abi>) [","] ")"
49
48
option := "pure" / "nomem" / "readonly" / "preserves_flags" / "noreturn" / "nostack" / "att_syntax" / "raw"
50
49
options := "options(" option *("," option) [","] ")"
51
- asm := "asm!(" format_string *("," format_string) *("," [ident "="] operand) *("," clobber_abi) *("," options) [","] ")"
52
- global_asm := "global_asm!(" format_string *("," format_string) *("," [ident "="] operand) *("," options) [","] ")"
50
+ operand := reg_operand / clobber_abi / options
51
+ asm := "asm!(" format_string *("," format_string) *("," operand) [","] ")"
52
+ global_asm := "global_asm!(" format_string *("," format_string) *("," operand) [","] ")"
53
53
```
54
54
55
55
@@ -74,8 +74,7 @@ An `asm!` invocation may have one or more template string arguments; an `asm!` w
74
74
The expected usage is for each template string argument to correspond to a line of assembly code.
75
75
All template string arguments must appear before any other arguments.
76
76
77
- As with format strings, named arguments must appear after positional arguments.
78
- Explicit [ register operands] ( #register-operands ) must appear at the end of the operand list, after named arguments if any.
77
+ As with format strings, positional arguments must appear before named arguments and explicit [ register operands] ( #register-operands ) .
79
78
80
79
Explicit register operands cannot be used by placeholders in the template string.
81
80
All other named and positional operands must appear at least once in the template string, otherwise a compiler error is generated.
0 commit comments