From: jjasmine <tanghocle...@gmail.com>

gcc/rust/ChangeLog:

        * expand/rust-macro-builtins-asm.cc (parse_options): title.
---
 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 9d904d6223e..d47d95c594f 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)
-- 
2.45.2

Reply via email to