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

Reply via email to