https://gcc.gnu.org/bugzilla/show_bug.cgi?id=128355
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Ever confirmed|0 |1
Last reconfirmed| |2026-11-02
Status|UNCONFIRMED |NEW
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
while (c_parser_next_token_is_not (parser, CPP_CLOSE_PAREN))
{
if (c_parser_next_token_is (parser, CPP_NAME)
&& c_parser_peek_2nd_token (parser)->type == CPP_COLON)
{
arg = c_parser_peek_token (parser)->value;
c_parser_consume_token (parser);
if (c_parser_next_token_is (parser, CPP_COLON))
c_parser_consume_token (parser);
int src_index = -1;
if (!c_parser_gimple_parse_bb_spec (arg, &src_index))
c_parser_error (parser, "invalid source block specification");
vargs.safe_push (size_int (src_index));
}
else if (c_parser_next_token_is (parser, CPP_COMMA))
c_parser_consume_token (parser);
else
{
arg = c_parser_gimple_unary_expression (parser).value;
vargs.safe_push (arg);
}
}
doesn't terminate if c_parser_gimple_unary_expression does not consume
any token. Not sure how to test this, an option would be to
terminate PHI parsing after the first error_mark_node, but then not sure
how to handle error recovery either.