c++: Fix parameter map handling of member typedef.
authorJason Merrill <jason@redhat.com>
Thu, 23 Jan 2020 21:59:54 +0000 (16:59 -0500)
committerJason Merrill <jason@redhat.com>
Fri, 24 Jan 2020 22:22:56 +0000 (17:22 -0500)
commit55dd44535d2e4e5703c0103c26e7c51ab8c502c4
treee1545d5470cb4f2f288bdc4f21b857b480a4c95a
parent5d782a8d909c5cc472c911c0ab4de0b890aad868
c++: Fix parameter map handling of member typedef.

any_template_parm_r was looking at the args of an alias template-id, but we
need to look at all args of a member alias/typedef, including implicit ones
from the enclosing class.

PR c++/93377 - ICE with member alias in constraint.
* pt.c (any_template_parm_r): Look at template arguments for all
aliases, not only alias templates.
gcc/cp/ChangeLog
gcc/cp/pt.c
gcc/testsuite/g++.dg/cpp2a/concepts-alias5.C [new file with mode: 0644]