Skip to content
Snippets Groups Projects
Commit 51b997ea authored by Jason Merrill's avatar Jason Merrill
Browse files

c++: member vs global template [PR106310]

For backward compatibility we still want to allow patterns like
this->A<T>::foo, but the template keyword in a qualified name is
specifically to specify that a dependent name is a template, so don't look
in the enclosing scope at all.

Also fix handling of dependent bases: if member lookup in the current
instantiation fails and we have dependent bases, the lookup is dependent.
We were already handling that for the case where lookup in the enclosing
scope also fails, but we also want it to affect that lookup itself.

	PR c++/106310

gcc/cp/ChangeLog:

	* parser.cc (cp_parser_template_name): Skip non-member
	lookup after the template keyword.
	(cp_parser_lookup_name): Pass down template_keyword_p.

gcc/testsuite/ChangeLog:

	* g++.dg/template/template-keyword4.C: New test.
parent db189d02
No related branches found
No related tags found
No related merge requests found
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment