From 75a24412545f6bd04547948cd0bd353ce912e5c5 Mon Sep 17 00:00:00 2001 From: Pierre-Emmanuel Patry Date: Wed, 23 Jul 2025 14:40:46 +0200 Subject: [PATCH] gccrs: Add indexed positional argument support in asm gcc/rust/ChangeLog: * expand/rust-macro-builtins-asm.cc (expand_inline_asm_strings): Handle transformation for indexed positional arguments. Signed-off-by: Pierre-Emmanuel Patry --- gcc/rust/expand/rust-macro-builtins-asm.cc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gcc/rust/expand/rust-macro-builtins-asm.cc b/gcc/rust/expand/rust-macro-builtins-asm.cc index 850c8ddb753..7b2cf708445 100644 --- a/gcc/rust/expand/rust-macro-builtins-asm.cc +++ b/gcc/rust/expand/rust-macro-builtins-asm.cc @@ -819,6 +819,11 @@ expand_inline_asm_strings (InlineAsmContext inline_asm_ctx) } break; case Fmt::ffi::Position::Tag::ArgumentIs: + { + auto idx = next_argument.position.argument_is._0; + transformed_template_str += "%" + std::to_string (idx); + break; + } case Fmt::ffi::Position::Tag::ArgumentNamed: rust_sorry_at (inline_asm.get_locus (), "unhandled argument position specifier"); -- 2.47.2