https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109412
Bug ID: 109412 Summary: [13 Regression] ICE in fold_convert_loc, at fold-const.cc:2627 Product: gcc Version: 13.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: gs...@t-online.de Target Milestone: --- Started between 20220821 and 20220828 : (derived from c-c++-common/ubsan/bounds-21.c) $ cat z1.c int i; int foo (void) { return ++i; } int main () { char a() = {}; a[foo ()] = a[foo()] | 'a'; if (i != 2) __builtin_abort (); a[foo()] |= 'a'; if (i != 3) __builtin_abort (); } $ gcc-13-20230402 -c z1.c z1.c: In function 'main': z1.c:6:3: error: function 'a' is initialized like a variable 6 | char a() = {}; | ^~~~ z1.c:6:3: internal compiler error: in fold_convert_loc, at fold-const.cc:2627 0xa76ede fold_convert_loc(unsigned int, tree_node*, tree_node*) ../../gcc/fold-const.cc:2627 0x7741de pop_init_level(unsigned int, int, obstack*, unsigned int) ../../gcc/c/c-typeck.cc:9382 0x7a7f8e c_parser_braced_init ../../gcc/c/c-parser.cc:5775 0x7a9651 c_parser_initializer ../../gcc/c/c-parser.cc:5675 0x7c3ec8 c_parser_declaration_or_fndef ../../gcc/c/c-parser.cc:2564 0x7c293b c_parser_compound_statement_nostart ../../gcc/c/c-parser.cc:6208 0x7c2d83 c_parser_compound_statement ../../gcc/c/c-parser.cc:6105 0x7c4d7f c_parser_declaration_or_fndef ../../gcc/c/c-parser.cc:2841 0x7cf0af c_parser_external_declaration ../../gcc/c/c-parser.cc:1925 0x7cf9ed c_parser_translation_unit ../../gcc/c/c-parser.cc:1779 0x7cf9ed c_parse_file() ../../gcc/c/c-parser.cc:24632 0x84a4e1 c_common_parse_file() ../../gcc/c-family/c-opts.cc:1248