diff options
author | badumbatish <tanghocle456@gmail.com> | 2024-09-04 23:59:36 -0700 |
---|---|---|
committer | P-E-P <32375388+P-E-P@users.noreply.github.com> | 2024-10-17 08:38:08 +0000 |
commit | 2d95e156b4f69ebad177c90cfada79ba896f32f9 (patch) | |
tree | baf80621163ee74c6cf41d170e45003165a9ae03 /gcc/rust/expand/rust-macro-builtins-asm.cc | |
parent | 0b18baee05946a25ab757cac238c52e103e9a861 (diff) | |
download | gcc-2d95e156b4f69ebad177c90cfada79ba896f32f9.zip gcc-2d95e156b4f69ebad177c90cfada79ba896f32f9.tar.gz gcc-2d95e156b4f69ebad177c90cfada79ba896f32f9.tar.bz2 |
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
Diffstat (limited to 'gcc/rust/expand/rust-macro-builtins-asm.cc')
-rw-r--r-- | gcc/rust/expand/rust-macro-builtins-asm.cc | 9 |
1 files changed, 5 insertions, 4 deletions
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<InlineAsmParseError> (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;*/ |