c++: CTAD and member function references [PR103943]
authorJason Merrill <jason@redhat.com>
Sun, 27 Mar 2022 02:05:53 +0000 (22:05 -0400)
committerJason Merrill <jason@redhat.com>
Mon, 28 Mar 2022 13:35:58 +0000 (09:35 -0400)
commit8bc5cdaafa2e729f9209684dc30aa0acb72d2580
tree0204dfbc4f6db215d3b0c399df1e3e49e24bf35b
parent72bdfcb848327020f62f72405d72cf85650666e1
c++: CTAD and member function references [PR103943]

More quirks of rewriting member references to dependent references for
CTAD.  A reference to a member of dependent scope is definitely dependent.
And since r11-7044, tsubst_baselink builds a SCOPE_REF, so
tsubst_qualified_id should just use it.

PR c++/103943

gcc/cp/ChangeLog:

* pt.cc (tsubst_qualified_id): Handle getting SCOPE_REF from
tsubst_baselink.
(instantiation_dependent_scope_ref_p): Check dependent_scope_p.

gcc/testsuite/ChangeLog:

* g++.dg/cpp1z/class-deduction109.C: New test.
gcc/cp/pt.cc
gcc/testsuite/g++.dg/cpp1z/class-deduction109.C [new file with mode: 0644]