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

Reply via email to