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

            Bug ID: 91545
           Summary: [10 Regression] ICE: tree check: expected field_decl,
                    have var_decl in cxx_eval_store_expression, at
                    cp/constexpr.c:3852
           Product: gcc
           Version: 10.0
            Status: UNCONFIRMED
          Keywords: ice-on-invalid-code
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: asolokha at gmx dot com
  Target Milestone: ---

g++-10.0.0-alpha20190825 snapshot (r274915) ICEs when compiling
gcc/testsuite/gcc.dg/20161219.c:

% g++-10.0.0-alpha20190825 -c gcc/testsuite/gcc.dg/20161219.c
gcc/testsuite/gcc.dg/20161219.c: In function 'int fn1(int*)':
gcc/testsuite/gcc.dg/20161219.c:16:18: internal compiler error: tree check:
expected field_decl, have var_decl in cxx_eval_store_expression, at
cp/constexpr.c:3852
   16 |    e && (a[d] = 0);
      |                  ^
0x7d4b9c tree_check_failed(tree_node const*, char const*, int, char const*,
...)
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20190825/work/gcc-10-20190825/gcc/tree.c:9925
0x5d51b8 tree_check(tree_node*, char const*, int, char const*, tree_code)
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20190825/work/gcc-10-20190825/gcc/tree.h:3263
0x5d51b8 cxx_eval_store_expression
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20190825/work/gcc-10-20190825/gcc/cp/constexpr.c:3852
0x8db063 cxx_eval_constant_expression
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20190825/work/gcc-10-20190825/gcc/cp/constexpr.c:4845
0x8ddf77 cxx_eval_outermost_constant_expr
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20190825/work/gcc-10-20190825/gcc/cp/constexpr.c:5573
0x8e21ed maybe_constant_value(tree_node*, tree_node*, bool)
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20190825/work/gcc-10-20190825/gcc/cp/constexpr.c:5786
0x8f74c0 cp_fully_fold(tree_node*)
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20190825/work/gcc-10-20190825/gcc/cp/cp-gimplify.c:2197
0xa6c390 cp_build_binary_op(op_location_t const&, tree_code, tree_node*,
tree_node*, int)
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20190825/work/gcc-10-20190825/gcc/cp/typeck.c:5565
0xa6f611 build_binary_op(unsigned int, tree_code, tree_node*, tree_node*, bool)
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20190825/work/gcc-10-20190825/gcc/cp/typeck.c:4280
0x8fc552 ocp_convert(tree_node*, tree_node*, int, int, int)
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20190825/work/gcc-10-20190825/gcc/cp/cvt.c:849
0x8fd634 cp_convert(tree_node*, tree_node*, int)
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20190825/work/gcc-10-20190825/gcc/cp/cvt.c:636
0x8fd634 cp_convert_and_check(tree_node*, tree_node*, int)
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20190825/work/gcc-10-20190825/gcc/cp/cvt.c:669
0xa6c632 cp_build_binary_op(op_location_t const&, tree_code, tree_node*,
tree_node*, int)
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20190825/work/gcc-10-20190825/gcc/cp/typeck.c:5517
0x8b4f8d build_new_op_1
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20190825/work/gcc-10-20190825/gcc/cp/call.c:6231
0x8b59da build_new_op(op_location_t const&, tree_code, int, tree_node*,
tree_node*, tree_node*, tree_node**, int)
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20190825/work/gcc-10-20190825/gcc/cp/call.c:6275
0xa6102b build_x_binary_op(op_location_t const&, tree_code, tree_node*,
tree_code, tree_node*, tree_code, tree_node**, int)
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20190825/work/gcc-10-20190825/gcc/cp/typeck.c:4185
0x99c9d2 cp_parser_binary_expression
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20190825/work/gcc-10-20190825/gcc/cp/parser.c:9625
0x99d72f cp_parser_assignment_expression
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20190825/work/gcc-10-20190825/gcc/cp/parser.c:9760
0x99d9b2 cp_parser_expression
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20190825/work/gcc-10-20190825/gcc/cp/parser.c:9928
0x9a0ed1 cp_parser_expression_statement
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20190825/work/gcc-10-20190825/gcc/cp/parser.c:11535

Reply via email to