https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83996

            Bug ID: 83996
           Summary: [6/7/8] Regression] ICE with zero-sized array
           Product: gcc
           Version: 8.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: reichelt at gcc dot gnu.org
                CC: mpolacek at gcc dot gnu.org
        Depends on: 81695
  Target Milestone: ---

The testcase gcc/testsuite/gcc.dg/pr81695.c triggers an ICE since GCC 4.7.0
when compiled with the C++-frontend:

pr81695.c: In function 'int main()':
pr81695.c:10:37: internal compiler error: in size_binop_loc, at
fold-const.c:1884
   __builtin_printf ("%d\n", *(z + 1));
                                     ^
0x6bf9f2 size_binop_loc(unsigned int, tree_code, tree_node*, tree_node*)
        ../../gcc/gcc/fold-const.c:1883
0x8495e6 cxx_fold_indirect_ref
        ../../gcc/gcc/cp/constexpr.c:3148
0x84fea4 cxx_eval_indirect_ref
        ../../gcc/gcc/cp/constexpr.c:3218
0x84fea4 cxx_eval_constant_expression
        ../../gcc/gcc/cp/constexpr.c:4269
0x854317 cxx_eval_outermost_constant_expr
        ../../gcc/gcc/cp/constexpr.c:4766
0x856f66 maybe_constant_value(tree_node*, tree_node*)
        ../../gcc/gcc/cp/constexpr.c:4980
0x81461b build_cxx_call(tree_node*, int, tree_node**, int)
        ../../gcc/gcc/cp/call.c:8666
0x818e39 build_over_call
        ../../gcc/gcc/cp/call.c:8234
0x826a3f build_new_function_call(tree_node*, vec<tree_node*, va_gc,
vl_embed>**, int)
        ../../gcc/gcc/cp/call.c:4317
0x9a0c45 finish_call_expr(tree_node*, vec<tree_node*, va_gc, vl_embed>**, bool,
bool, int)
        ../../gcc/gcc/cp/semantics.c:2489
0x92d07a cp_parser_postfix_expression
        ../../gcc/gcc/cp/parser.c:7239
0x92d890 cp_parser_unary_expression
        ../../gcc/gcc/cp/parser.c:8281
0x90e44f cp_parser_cast_expression
        ../../gcc/gcc/cp/parser.c:9049
0x90ec5a cp_parser_binary_expression
        ../../gcc/gcc/cp/parser.c:9150
0x910424 cp_parser_assignment_expression
        ../../gcc/gcc/cp/parser.c:9437
0x910b38 cp_parser_expression
        ../../gcc/gcc/cp/parser.c:9606
0x9127e8 cp_parser_expression_statement
        ../../gcc/gcc/cp/parser.c:11075
0x91854d cp_parser_statement
        ../../gcc/gcc/cp/parser.c:10879
0x919a60 cp_parser_statement_seq_opt
        ../../gcc/gcc/cp/parser.c:11218
0x919b37 cp_parser_compound_statement
        ../../gcc/gcc/cp/parser.c:11172
Please submit a full bug report, [etc.]

Marek, you reported and fixed PR81695, would you mind taking a look?


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81695
[Bug 81695] [5/6/7 Regression] internal compiler error: in size_binop_loc, at
fold-const.c:1768

Reply via email to