gccrs: Fix infinite loop with parsing invalid generic parameters

gcc/rust/ChangeLog:

	* parse/rust-parse-impl.h
	(Parser::parse_generic_params):
	Handle parameter parsing error.

gcc/testsuite/ChangeLog:

	* rust/compile/issue-2125.rs: New test.

Signed-off-by: Owen Avery <powerboat9.gamer@gmail.com>
This commit is contained in:
Owen Avery 2023-04-18 00:46:59 -04:00 committed by Arthur Cohen
parent 68a0eb254f
commit 582accedb7
2 changed files with 4 additions and 0 deletions

View file

@ -3127,6 +3127,8 @@ Parser<ManagedTokenSource>::parse_generic_params (EndTokenPred is_end_token)
generic_params.emplace_back (std::move (param));
maybe_skip_token (COMMA);
}
else
break;
}
// FIXME: Add reordering hint

View file

@ -0,0 +1,2 @@
// { dg-timeout 5 }
struct S<$>; // { dg-error ".*" }