https://gcc.gnu.org/g:0137edd2597d6d76ea9e901d3a6d81744f6cf9eb
commit r16-4774-g0137edd2597d6d76ea9e901d3a6d81744f6cf9eb Author: Pierre-Emmanuel Patry <[email protected]> Date: Mon Aug 11 16:22:32 2025 +0200 gccrs: Fix infinite loop on inline assembly clobbers Fix Rust-GCC/gccrs#4046 where the inline llvm_asm macro parser did not expect a comma. gcc/rust/ChangeLog: * expand/rust-macro-builtins-asm.cc (parse_llvm_clobbers): Expect a comma between clobbers. Signed-off-by: Pierre-Emmanuel Patry <[email protected]> Diff: --- gcc/rust/expand/rust-macro-builtins-asm.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gcc/rust/expand/rust-macro-builtins-asm.cc b/gcc/rust/expand/rust-macro-builtins-asm.cc index 4080a22cfae0..6cbcf87ebc9a 100644 --- a/gcc/rust/expand/rust-macro-builtins-asm.cc +++ b/gcc/rust/expand/rust-macro-builtins-asm.cc @@ -1125,8 +1125,11 @@ parse_llvm_clobbers (LlvmAsmContext &ctx) { ctx.llvm_asm.get_clobbers ().push_back ( {strip_double_quotes (token->as_string ()), token->get_locus ()}); + + parser.skip_token (STRING_LITERAL); } - parser.skip_token (STRING_LITERAL); + + parser.maybe_skip_token (COMMA); token = parser.peek_current_token (); } }
