]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
gccrs: stop an infinite loop at END_OF_FILE
authorLúcio Boari Fleury <lucboari@gmail.com>
Sat, 22 Nov 2025 01:04:25 +0000 (22:04 -0300)
committerArthur Cohen <arthur.cohen@embecosm.com>
Tue, 25 Nov 2025 22:00:52 +0000 (23:00 +0100)
gcc/rust/ChangeLog:

* parse/rust-parse-impl.h: Add early exit condition to parsing loop.

Signed-off-by: Lúcio Boari Fleury <lucboari@gmail.com>
gcc/rust/parse/rust-parse-impl.h

index 0421d6cb80e56634d638b7f2801a0a33ed4fbed0..afc70123095162abd7f40c2ecbd00670ca092010 100644 (file)
@@ -1861,7 +1861,8 @@ Parser<ManagedTokenSource>::parse_macro_invocation_semi (
 
   t = lexer.peek_token ();
   // parse token trees until the initial delimiter token is found again
-  while (!token_id_matches_delims (t->get_id (), delim_type))
+  while (!token_id_matches_delims (t->get_id (), delim_type)
+        && t->get_id () != END_OF_FILE)
     {
       std::unique_ptr<AST::TokenTree> tree = parse_token_tree ();