https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81866
--- Comment #4 from Jason Merrill <jason at gcc dot gnu.org> --- Author: jason Date: Wed Apr 3 21:51:36 2019 New Revision: 270138 URL: https://gcc.gnu.org/viewcvs?rev=270138&root=gcc&view=rev Log: PR c++/81866 - ICE with member template and default targ. This testcase manages to find a way to look up the partial instantiation of B for the default argument of C before we've created the partial instantiation of B as part of the normal instantiation of the members of A. Which we can deal with, but we were getting confused because the partial instantiation was stored with a RECORD_TYPE specialization rather than TEMPLATE_DECL. * pt.c (tsubst_template_decl): Handle getting a type from retrieve_specialization. Added: trunk/gcc/testsuite/g++.dg/template/memtmpl6.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/pt.c