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