]> git.ipfire.org Git - thirdparty/gcc.git/commit
gccrs: Fix the parser's operand and flags storage
authorbadumbatish <tanghocle456@gmail.com>
Wed, 24 Jul 2024 05:17:12 +0000 (22:17 -0700)
committerArthur Cohen <arthur.cohen@embecosm.com>
Wed, 19 Mar 2025 14:32:01 +0000 (15:32 +0100)
commitd2c9afb7bc8278bdf946599f58da18c76d3d1d2f
treeac0dd47e1c7cac2fc23431635899e7e40adfa641
parent86d5412d85b907fd63b5c86817e35e506ea3f7f0
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
gcc/rust/ast/rust-expr.h
gcc/rust/expand/rust-macro-builtins-asm.cc
gcc/rust/expand/rust-macro-builtins-asm.h
gcc/testsuite/rust/compile/inline_asm_illegal_operands.rs
gcc/testsuite/rust/compile/inline_asm_parse_operand.rs