c++: alias template of non-template class [PR112633]
commit3f266c84a15d63e42bfad46397fea9aff92b0720
authorPatrick Palka <ppalka@redhat.com>
Wed, 22 Nov 2023 18:54:29 +0000 (22 13:54 -0500)
committerPatrick Palka <ppalka@redhat.com>
Wed, 22 Nov 2023 18:54:29 +0000 (22 13:54 -0500)
tree941196dace9f9eb5439684ae44a1354f591e68fe
parenta53da3a213ee00866d132c228a0e89bd2f61d65c
c++: alias template of non-template class [PR112633]

The entering_scope adjustment in tsubst_aggr_type assumes if an alias is
dependent, then so is the aliased type (and therefore it has template info)
but that's not true for the dependent alias template specialization ty1<T>
below which aliases the non-template class A.  In this case no adjustment
is needed anyway, so we can just punt.

PR c++/112633

gcc/cp/ChangeLog:

* pt.cc (tsubst_aggr_type): Handle empty TYPE_TEMPLATE_INFO
in the entering_scope adjustment.

gcc/testsuite/ChangeLog:

* g++.dg/cpp0x/alias-decl-75.C: New test.
gcc/cp/pt.cc
gcc/testsuite/g++.dg/cpp0x/alias-decl-75.C [new file with mode: 0644]