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

            Bug ID: 90969
           Summary: [10 Regression] ICE: tree check: expected array_type,
                    have vector_type in array_ref_low_bound, at
                    tree.c:13570
           Product: gcc
           Version: 10.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: asolokha at gmx dot com
  Target Milestone: ---
            Target: x86_64-pc-linux-gnu

gcc-10.0.0-alpha20190623 snapshot (r272608) ICEs when compiling the following
testcase:

__attribute__ ((__vector_size__ (4))) int v;
int &a = v[0];

% x86_64-pc-linux-gnu-g++-10.0.0-alpha20190623 -c bwi47gxv.cc
bwi47gxv.cc:2:13: internal compiler error: tree check: expected array_type,
have vector_type in array_ref_low_bound, at tree.c:13570
    2 | int &a = v[0];
      |             ^
0x7cf18c tree_check_failed(tree_node const*, char const*, int, char const*,
...)
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20190623/work/gcc-10-20190623/gcc/tree.c:9897
0x7daea0 tree_check(tree_node*, char const*, int, char const*, tree_code)
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20190623/work/gcc-10-20190623/gcc/tree.h:3197
0x7daea0 array_ref_low_bound(tree_node*)
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20190623/work/gcc-10-20190623/gcc/tree.c:13570
0xc44d6b get_inner_reference(tree_node*, poly_int_pod<1u, long>*,
poly_int_pod<1u, long>*, tree_node**, machine_mode*, int*, int*, int*)
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20190623/work/gcc-10-20190623/gcc/expr.c:7290
0xc8b5c3 fold_unary_loc(unsigned int, tree_code, tree_node*, tree_node*)
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20190623/work/gcc-10-20190623/gcc/fold-const.c:7938
0xc8ba30 fold_build1_loc(unsigned int, tree_code, tree_node*, tree_node*)
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20190623/work/gcc-10-20190623/gcc/fold-const.c:12292
0x8d5287 cxx_eval_constant_expression
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20190623/work/gcc-10-20190623/gcc/cp/constexpr.c:5125
0x8d5d77 cxx_eval_outermost_constant_expr
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20190623/work/gcc-10-20190623/gcc/cp/constexpr.c:5409
0x8da22c maybe_constant_value(tree_node*, tree_node*, bool)
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20190623/work/gcc-10-20190623/gcc/cp/constexpr.c:5622
0xa75d97 store_init_value(tree_node*, tree_node*, vec<tree_node*, va_gc,
vl_embed>**, int)
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20190623/work/gcc-10-20190623/gcc/cp/typeck2.c:858
0x905df8 check_initializer
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20190623/work/gcc-10-20190623/gcc/cp/decl.c:6587
0x925900 cp_finish_decl(tree_node*, tree_node*, bool, tree_node*, int)
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20190623/work/gcc-10-20190623/gcc/cp/decl.c:7261
0x9bf618 cp_parser_init_declarator
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20190623/work/gcc-10-20190623/gcc/cp/parser.c:20512
0x9a2675 cp_parser_simple_declaration
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20190623/work/gcc-10-20190623/gcc/cp/parser.c:13546
0x9c6033 cp_parser_declaration
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20190623/work/gcc-10-20190623/gcc/cp/parser.c:13243
0x9c66ca cp_parser_translation_unit
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20190623/work/gcc-10-20190623/gcc/cp/parser.c:4699
0x9c66ca c_parse_file()
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20190623/work/gcc-10-20190623/gcc/cp/parser.c:41489
0xacf8b8 c_common_parse_file()
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20190623/work/gcc-10-20190623/gcc/c-family/c-opts.c:1156

Reply via email to