https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97186
Bug ID: 97186 Summary: [11 Regression] ICE: Segmentation fault (in maybe_instantiate_noexcept) Product: gcc Version: 11.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: asolokha at gmx dot com Target Milestone: --- g++-11.0.0-alpha20200920 snapshot (g:363e7755f227656684c8e284307ceee451503ca4) ICEs when compiling the following testcase: template <class GG> struct no { static void tg () { void hk () noexcept (tg); hk (); } }; void os () { no<int> ().tg (); } % g++-11.0.0 -c n8bpixef.cc n8bpixef.cc: In instantiation of 'void hk()': n8bpixef.cc:9:8: required from 'static void no<GG>::tg() [with GG = int]' n8bpixef.cc:16:18: required from here n8bpixef.cc:7:5: internal compiler error: Segmentation fault 7 | hk () noexcept (tg); | ^~ 0x100af6f crash_signal /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200920/work/gcc-11-20200920/gcc/toplev.c:327 0xa1ca2f maybe_instantiate_noexcept(tree_node*, int) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200920/work/gcc-11-20200920/gcc/tree.h:3298 0x95054a mark_used(tree_node*, int) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200920/work/gcc-11-20200920/gcc/cp/decl2.c:5549 0xa6c9eb finish_id_expression_1 /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200920/work/gcc-11-20200920/gcc/cp/semantics.c:3999 0xa6cb17 finish_id_expression(tree_node*, tree_node*, tree_node*, cp_id_kind*, bool, bool, bool*, bool, bool, bool, bool, char const**, unsigned int) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200920/work/gcc-11-20200920/gcc/cp/semantics.c:4063 0xa18554 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200920/work/gcc-11-20200920/gcc/cp/pt.c:19326 0xa18cbd tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200920/work/gcc-11-20200920/gcc/cp/pt.c:19885 0xa2386f tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200920/work/gcc-11-20200920/gcc/cp/pt.c:18889 0xa25bc9 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200920/work/gcc-11-20200920/gcc/cp/pt.c:17991 0xa25fa1 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200920/work/gcc-11-20200920/gcc/cp/pt.c:17961 0xa24f2e tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200920/work/gcc-11-20200920/gcc/cp/pt.c:18281 0xa2c70f tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200920/work/gcc-11-20200920/gcc/cp/pt.c:17946 0xa2c70f instantiate_body /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200920/work/gcc-11-20200920/gcc/cp/pt.c:25577 0xa2d88f instantiate_decl(tree_node*, bool, bool) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200920/work/gcc-11-20200920/gcc/cp/pt.c:25865 0xa4ff9b instantiate_pending_templates(int) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200920/work/gcc-11-20200920/gcc/cp/pt.c:25944 0x95175b c_parse_final_cleanups() /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200920/work/gcc-11-20200920/gcc/cp/decl2.c:4920 clang 10.0.1 accepts it.