https://gcc.gnu.org/g:fe6dd9ac6ae802a83cea030a2ed1f3e2aca4e64d
commit r15-8166-gfe6dd9ac6ae802a83cea030a2ed1f3e2aca4e64d Author: jjasmine <tanghocle...@gmail.com> Date: Mon May 20 23:02:59 2024 -0700 gccrs: Working on parse_options for a bit more gcc/rust/ChangeLog: * expand/rust-macro-builtins-asm.cc (parse_options): title. Diff: --- gcc/rust/expand/rust-macro-builtins-asm.cc | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/gcc/rust/expand/rust-macro-builtins-asm.cc b/gcc/rust/expand/rust-macro-builtins-asm.cc index 9d904d6223e7..d47d95c594fb 100644 --- a/gcc/rust/expand/rust-macro-builtins-asm.cc +++ b/gcc/rust/expand/rust-macro-builtins-asm.cc @@ -98,7 +98,19 @@ parse_options (Parser<MacroInvocLexer> &parser, TokenId last_token_id, { // Parse everything commitedly if (!p.skip_token (LEFT_PAREN)) - {} + { + // We have shifted `options` to search for the left parenthesis next, we + // should error out if this is not possible. + // TODO: report some error. + return -1; + } + + auto token = parser.peek_current_token (); + while (token->get_id () != last_token_id && token->get_id () != RIGHT_PAREN) + { + parser.skip_token (); + token = parser.peek_current_token (); + } } bool check_identifier (Parser<MacroInvocLexer> &p, std::string ident)