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

            Bug ID: 93650
           Summary: ICE in cxx_eval_constant_expression, at
                    cp/constexpr.c:5626
           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: ---

g++-10.0.1-alpha20200209 snapshot (g:8686c4d84517b54cf3dfe98fca3a814b7d606502)
ICEs when compiling the following testcase, extracted from
gcc/testsuite/g++.dg/cpp2a/spaceship-scalar1.C, w/ -std=c++2a -Wall:

#include <compare>

void
foo ()
{
  auto v = 1 <=> 2;
}

% g++-10.0.1 -std=c++2a -Wall -c tezg1h8p.C
tezg1h8p.C: In function 'void foo()':
tezg1h8p.C:6:18: internal compiler error: in cxx_eval_constant_expression, at
cp/constexpr.c:5626
    6 |   auto v = 1 <=> 2;
      |                  ^
0x5ee4e1 cxx_eval_constant_expression
       
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200209/work/gcc-10-20200209/gcc/cp/constexpr.c:5626
0x8a0c76 cxx_eval_constant_expression
       
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200209/work/gcc-10-20200209/gcc/cp/constexpr.c:5883
0x8a47a6 cxx_eval_outermost_constant_expr
       
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200209/work/gcc-10-20200209/gcc/cp/constexpr.c:6404
0x8a8e67 maybe_constant_value(tree_node*, tree_node*, bool, bool)
       
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200209/work/gcc-10-20200209/gcc/cp/constexpr.c:6695
0x93193d fold_for_warn(tree_node*)
       
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200209/work/gcc-10-20200209/gcc/cp/expr.c:401
0xab2ecf check_function_restrict
       
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200209/work/gcc-10-20200209/gcc/c-family/c-common.c:5410
0xab2ecf check_function_arguments(unsigned int, tree_node const*, tree_node
const*, int, tree_node**, vec<unsigned int, va_heap, vl_ptr>*)
       
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200209/work/gcc-10-20200209/gcc/c-family/c-common.c:5750
0x8721d3 build_over_call
       
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200209/work/gcc-10-20200209/gcc/cp/call.c:8818
0x874d4d build_new_method_call_1
       
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200209/work/gcc-10-20200209/gcc/cp/call.c:10295
0x875ee0 build_new_method_call(tree_node*, tree_node*, vec<tree_node*, va_gc,
vl_embed>**, tree_node*, int, tree_node**, int)
       
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200209/work/gcc-10-20200209/gcc/cp/call.c:10370
0x875ee0 build_special_member_call(tree_node*, tree_node*, vec<tree_node*,
va_gc, vl_embed>**, tree_node*, int, int)
       
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200209/work/gcc-10-20200209/gcc/cp/call.c:9771
0x8d43e1 ocp_convert(tree_node*, tree_node*, int, int, int)
       
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200209/work/gcc-10-20200209/gcc/cp/cvt.c:938
0x9393c5 expand_default_init
       
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200209/work/gcc-10-20200209/gcc/cp/init.c:1894
0x9393c5 expand_aggr_init_1
       
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200209/work/gcc-10-20200209/gcc/cp/init.c:2071
0x93b41b build_aggr_init(tree_node*, tree_node*, int, int)
       
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200209/work/gcc-10-20200209/gcc/cp/init.c:1806
0x8e73dd build_aggr_init_full_exprs
       
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200209/work/gcc-10-20200209/gcc/cp/decl.c:6584
0x8e73dd check_initializer
       
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200209/work/gcc-10-20200209/gcc/cp/decl.c:6768
0x90b4fe cp_finish_decl(tree_node*, tree_node*, bool, tree_node*, int)
       
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200209/work/gcc-10-20200209/gcc/cp/decl.c:7746
0x9b48fb cp_parser_init_declarator
       
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200209/work/gcc-10-20200209/gcc/cp/parser.c:20831
0x995313 cp_parser_simple_declaration
       
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200209/work/gcc-10-20200209/gcc/cp/parser.c:13678

Reply via email to