https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96199
--- Comment #8 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Jason Merrill <ja...@gcc.gnu.org>: https://gcc.gnu.org/g:1c56c143b2011080d8a4516f37f78f647b0ee258 commit r11-3738-g1c56c143b2011080d8a4516f37f78f647b0ee258 Author: Jason Merrill <ja...@redhat.com> Date: Thu Oct 8 15:43:26 2020 -0400 c++: Fix member alias template in C++17 and up. [PR96805] Here we're trying to push into a<T>::c<N> in order to instantiate t<N>, but were building a TYPENAME_TYPE for it because a<T> isn't open yet. Don't do that when we know we're trying to enter the scope. gcc/cp/ChangeLog: PR c++/96805 PR c++/96199 * pt.c (tsubst_aggr_type): Don't build a TYPENAME_TYPE when entering_scope. (tsubst_template_decl): Use tsubst_aggr_type. gcc/testsuite/ChangeLog: PR c++/96805 * g++.dg/cpp0x/alias-decl-pr96805.C: New test.