[Bug c/69798] ICE on invalid code on x86_64-linux-gnu in c_parser_braced_init, at c/c-parser.c:4338
mpolacek at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Mar 2 11:09:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69798
--- Comment #6 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
So an option here would be to:
--- a/gcc/c/c-parser.c
+++ b/gcc/c/c-parser.c
@@ -7512,28 +7512,6 @@ c_parser_postfix_expression (c_parser *parser)
set_c_expr_source_range (&expr, loc, close_loc);
mark_exp_read (expr.value);
}
- else if (c_token_starts_typename (c_parser_peek_2nd_token (parser)))
- {
- /* A compound literal. ??? Can we actually get here rather
- than going directly to
- c_parser_postfix_expression_after_paren_type from
- elsewhere? */
- location_t loc;
- struct c_type_name *type_name;
- c_parser_consume_token (parser);
- loc = c_parser_peek_token (parser)->location;
- type_name = c_parser_type_name (parser);
- c_parser_skip_until_found (parser, CPP_CLOSE_PAREN,
- "expected %<)%>");
- if (type_name == NULL)
- {
- expr.value = error_mark_node;
- }
- else
- expr = c_parser_postfix_expression_after_paren_type (parser,
- type_name,
- loc);
- }
else
{
/* A parenthesized expression. */
I put gcc_unreachable (); into the block, did regtest, and there are no
failures.
More information about the Gcc-bugs
mailing list