diff options
author | badumbatish <tanghocle456@gmail.com> | 2024-07-23 22:17:12 -0700 |
---|---|---|
committer | Arthur Cohen <arthur.cohen@embecosm.com> | 2025-03-19 15:32:01 +0100 |
commit | d2c9afb7bc8278bdf946599f58da18c76d3d1d2f (patch) | |
tree | ac0dd47e1c7cac2fc23431635899e7e40adfa641 /gcc/rust/ast/rust-expr.h | |
parent | 86d5412d85b907fd63b5c86817e35e506ea3f7f0 (diff) | |
download | gcc-d2c9afb7bc8278bdf946599f58da18c76d3d1d2f.zip gcc-d2c9afb7bc8278bdf946599f58da18c76d3d1d2f.tar.gz gcc-d2c9afb7bc8278bdf946599f58da18c76d3d1d2f.tar.bz2 |
gccrs: Fix the parser's operand and flags storage
gcc/rust/ChangeLog:
* ast/rust-expr.h (struct InlineAsmOperand):
Add construction for register_type
* expand/rust-macro-builtins-asm.cc (parse_reg_operand):
Fix parsing logic & reassignment logic
(parse_reg_operand_in): Fix parsing
(parse_reg_operand_out): Fix parsing
(parse_reg_operand_inout): Fix parsing
(parse_reg_operand_unexpected): Remove rust_unreachable()
(parse_asm_arg): Fix parsing logic
* expand/rust-macro-builtins-asm.h: Add = operator overloading
gcc/testsuite/ChangeLog:
* rust/compile/inline_asm_illegal_operands.rs: Test now passing
* rust/compile/inline_asm_parse_operand.rs: Remove _, not
supported right now
Diffstat (limited to 'gcc/rust/ast/rust-expr.h')
-rw-r--r-- | gcc/rust/ast/rust-expr.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/rust/ast/rust-expr.h b/gcc/rust/ast/rust-expr.h index 9477bf0..8a3baf7 100644 --- a/gcc/rust/ast/rust-expr.h +++ b/gcc/rust/ast/rust-expr.h @@ -4964,8 +4964,9 @@ struct InlineAsmOperand InlineAsmOperand () {} InlineAsmOperand (const InlineAsmOperand &other) - : in (other.in), out (other.out), in_out (other.in_out), - split_in_out (other.split_in_out), cnst (other.cnst), sym (other.sym) + : register_type (other.register_type), in (other.in), out (other.out), + in_out (other.in_out), split_in_out (other.split_in_out), + cnst (other.cnst), sym (other.sym) {} void set_in (const tl::optional<struct In> ®) |