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

            Bug ID: 92746
           Summary: [10 Regression] ICE in check_noexcept_r, at
                    cp/except.c:1114
           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.0-alpha20191201 snapshot (r278886) ICEs when compiling the following
testcase, reduced from
test/CXX/concepts-ts/dcl.dcl/dcl.spec/dcl.spec.concept/p1.cpp from the clang
9.0.0 test suite, w/ -fconcepts:

template<typename T> concept bool C3() { return true; }
static_assert(noexcept(C3<int>()), "function concept should be treated as if
noexcept(true) specified");

% g++-10.0.0-alpha20191201 -fconcepts -c vtdkmihj.cc
vtdkmihj.cc:2:33: internal compiler error: in check_noexcept_r, at
cp/except.c:1114
    2 | static_assert(noexcept(C3<int>()), "function concept should be treated
as if noexcept(true) specified");
      |                                 ^
0x5fec0a check_noexcept_r
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191201/work/gcc-10-20191201/gcc/cp/except.c:1114
0x11e6c1c walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*,
tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*))
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191201/work/gcc-10-20191201/gcc/tree.c:11957
0x11ea5eb walk_tree_without_duplicates_1(tree_node**, tree_node*
(*)(tree_node**, int*, void*), void*, tree_node* (*)(tree_node**, int*,
tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, false,
default_hash_traits<tree_node*> >*))
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191201/work/gcc-10-20191201/gcc/tree.c:12313
0x8de9ec expr_noexcept_p(tree_node*, int)
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191201/work/gcc-10-20191201/gcc/cp/except.c:1212
0x8deb6e finish_noexcept_expr(tree_node*, int)
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191201/work/gcc-10-20191201/gcc/cp/except.c:1197
0x95422d cp_parser_unary_expression
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191201/work/gcc-10-20191201/gcc/cp/parser.c:8320
0x92f774 cp_parser_binary_expression
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191201/work/gcc-10-20191201/gcc/cp/parser.c:9480
0x930806 cp_parser_assignment_expression
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191201/work/gcc-10-20191201/gcc/cp/parser.c:9780
0x930049 cp_parser_constant_expression
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191201/work/gcc-10-20191201/gcc/cp/parser.c:10074
0x930342 cp_parser_static_assert
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191201/work/gcc-10-20191201/gcc/cp/parser.c:14580
0x964d7f cp_parser_declaration
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191201/work/gcc-10-20191201/gcc/cp/parser.c:13322
0x9653a0 cp_parser_translation_unit
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191201/work/gcc-10-20191201/gcc/cp/parser.c:4721
0x9653a0 c_parse_file()
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191201/work/gcc-10-20191201/gcc/cp/parser.c:43048
0xa7493f c_common_parse_file()
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191201/work/gcc-10-20191201/gcc/c-family/c-opts.c:1185

Reply via email to