aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorPierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>2025-07-23 14:40:46 +0200
committerArthur Cohen <arthur.cohen@embecosm.com>2025-08-05 16:36:58 +0200
commit75a24412545f6bd04547948cd0bd353ce912e5c5 (patch)
tree5678b6f1eb055690bcdc3fa47cd03a863fc3bdd2 /gcc
parente80e577df7ca410eac549da61f9a9fd702dc55ea (diff)
downloadgcc-75a24412545f6bd04547948cd0bd353ce912e5c5.zip
gcc-75a24412545f6bd04547948cd0bd353ce912e5c5.tar.gz
gcc-75a24412545f6bd04547948cd0bd353ce912e5c5.tar.bz2
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 <pierre-emmanuel.patry@embecosm.com>
Diffstat (limited to 'gcc')
-rw-r--r--gcc/rust/expand/rust-macro-builtins-asm.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/rust/expand/rust-macro-builtins-asm.cc b/gcc/rust/expand/rust-macro-builtins-asm.cc
index 850c8dd..7b2cf70 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");