From 2d95e156b4f69ebad177c90cfada79ba896f32f9 Mon Sep 17 00:00:00 2001 From: badumbatish Date: Wed, 4 Sep 2024 23:59:36 -0700 Subject: Provide input operand for gccrs gcc/rust/ChangeLog: * backend/rust-compile-asm.cc (CompileAsm::asm_construct_inputs): Provide input operand for gccrs * expand/rust-macro-builtins-asm.cc (parse_reg_operand_in): Move expr to In (expand_inline_asm_strings): Add comments to debug strings gcc/testsuite/ChangeLog: * rust/compile/inline_asm_parse_operand.rs: Remove inout, functionality not supported. Remove redundant {} * rust/execute/torture/inline_asm_mov_x_5_ARM.rs: Add operand in * rust/execute/torture/inline_asm_mov_x_5_x86_64.rs: Likewise --- gcc/rust/expand/rust-macro-builtins-asm.cc | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'gcc/rust/expand') diff --git a/gcc/rust/expand/rust-macro-builtins-asm.cc b/gcc/rust/expand/rust-macro-builtins-asm.cc index 061c684..2b86b81 100644 --- a/gcc/rust/expand/rust-macro-builtins-asm.cc +++ b/gcc/rust/expand/rust-macro-builtins-asm.cc @@ -330,8 +330,8 @@ parse_reg_operand_in (InlineAsmContext inline_asm_ctx) // TODO: When we've succesfully parse an expr, remember to clone_expr() // instead of nullptr - // struct AST::InlineAsmOperand::In in (reg, nullptr); - // inline_asm_ctx.inline_asm.operands.push_back (in); + struct AST::InlineAsmOperand::In in (reg, std::move (expr)); + inline_asm_ctx.inline_asm.operands.push_back (in); return inline_asm_ctx; } return tl::unexpected (NONCOMMITED); @@ -792,8 +792,9 @@ expand_inline_asm_strings (InlineAsmContext inline_asm_ctx) * trait});*/ transformed_template_str += "%" + std::to_string (idx); - /*std::cout << "argument implicitly is: " << idx << - * std::endl;*/ + // std::cout << "argument implicitly is: " << idx << + // std::endl; std::cout << "transformed template str is:" + // << transformed_template_str << std::endl; /*std::cout << "trait: " << trait.to_string () << * std::endl;*/ /*std::cout << "arg: " << arg.to_string () << std::endl;*/ -- cgit v1.1