https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71583
Bug ID: 71583 Summary: ICE on invalid code on x86_64-linux-gnu (in c_parser_postfix_expression_after_paren_type, at c/c-parser.c:8192) Product: gcc Version: 7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: chengniansun at gmail dot com Target Milestone: --- gcc-5.3 and older versions do not crash. $: gcc-trunk -v Using built-in specs. COLLECT_GCC=gcc-trunk COLLECT_LTO_WRAPPER=/usr/local/gcc-trunk/libexec/gcc/x86_64-pc-linux-gnu/7.0.0/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: ../gcc-source-trunk/configure --enable-languages=c,c++,lto --prefix=/usr/local/gcc-trunk --disable-bootstrap Thread model: posix gcc version 7.0.0 20160618 (experimental) [trunk revision 237575] (GCC) $: $: gcc-trunk -c small.c small.c: In function ‘fn1’: small.c:4:4: error: expected expression before ‘int’ {int}; ^~~ small.c:4:4: internal compiler error: in c_parser_postfix_expression_after_paren_type, at c/c-parser.c:8192 0x6ac63f c_parser_postfix_expression_after_paren_type ../../gcc-source-trunk/gcc/c/c-parser.c:8192 0x6a4300 c_parser_cast_expression ../../gcc-source-trunk/gcc/c/c-parser.c:6757 0x6a4374 c_parser_binary_expression ../../gcc-source-trunk/gcc/c/c-parser.c:6580 0x6a5025 c_parser_conditional_expression ../../gcc-source-trunk/gcc/c/c-parser.c:6351 0x6a56a0 c_parser_expr_no_commas ../../gcc-source-trunk/gcc/c/c-parser.c:6268 0x6a5da2 c_parser_expression ../../gcc-source-trunk/gcc/c/c-parser.c:8463 0x6a6809 c_parser_expression_conv ../../gcc-source-trunk/gcc/c/c-parser.c:8496 0x6bcb08 c_parser_statement_after_labels ../../gcc-source-trunk/gcc/c/c-parser.c:5287 0x6be9ab c_parser_compound_statement_nostart ../../gcc-source-trunk/gcc/c/c-parser.c:4861 0x6bf23e c_parser_compound_statement ../../gcc-source-trunk/gcc/c/c-parser.c:4696 0x6c0467 c_parser_declaration_or_fndef ../../gcc-source-trunk/gcc/c/c-parser.c:2105 0x6c9605 c_parser_external_declaration ../../gcc-source-trunk/gcc/c/c-parser.c:1549 0x6c9e99 c_parser_translation_unit ../../gcc-source-trunk/gcc/c/c-parser.c:1430 0x6c9e99 c_parse_file() ../../gcc-source-trunk/gcc/c/c-parser.c:17930 0x72c292 c_common_parse_file() ../../gcc-source-trunk/gcc/c-family/c-opts.c:1070 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions. $: $: gcc-5.3 small.c small.c: In function ‘fn1’: small.c:4:4: error: expected expression before ‘int’ {int}; ^ small.c:4: confused by earlier errors, bailing out $: $: cat small.c int i; void fn1() { (int(*)[++i]) {int}; } $: