https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96732
Bug ID: 96732 Summary: ice in pop_nested_class Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: dcb314 at hotmail dot com Target Milestone: --- For this C++ source code: template <typename> struct a; template <typename> struct b; template <typename c> class d { struct { template <bool, typename e> using f = typename e ::g; template <typename e> f<b<typename a<typename c::h>::i>::j, e> k(); }; }; sometime between 20200818 and 20200819, it fails to compile: /home/dcb/gcc/results.20200818/bin/gcc /home/dcb/gcc/results.20200819/bin/gcc bug637.cc: In substitution of ‘template<class c> template<bool <anonymous>, clas s e> using f = typename e::g [with bool <anonymous> = b<typename a<typename c::h >::i>::j; e = e; c = c]’: bug637.cc:6:66: required from here bug637.cc:6:66: internal compiler error: Segmentation fault 6 | template <typename e> f<b<typename a<typename c::h>::i>::j, e> k(); | ^ 0xf14119 crash_signal(int) ../../trunk.git/gcc/toplev.c:327 0x66009b tree_class_check(tree_node*, tree_code_class, char const*, int, char co nst*) ../../trunk.git/gcc/tree.h:3417 0x66009b pop_nested_class() ../../trunk.git/gcc/cp/class.c:8138 0x8633b2 instantiate_template_1(tree_node*, tree_node*, int) ../../trunk.git/gcc/cp/pt.c:20826