PR c++/51641 - Lookup finds enclosing class member instead of template parameter
authorDodji Seketeli <dodji@redhat.com>
Tue, 13 Mar 2012 21:25:22 +0000 (21:25 +0000)
committerDodji Seketeli <dodji@gcc.gnu.org>
Tue, 13 Mar 2012 21:25:22 +0000 (22:25 +0100)
commit74788b800931abc7ab79a06812799862eede96c0
tree1846e2e040151c9f4edde0f36e6c882543d14679
parent40703fdf12ebe0a89e104f303906128e3a729279
PR c++/51641 - Lookup finds enclosing class member instead of template parameter

gcc/cp/

PR c++/51641
* cp-tree.h (template_type_parameter_p): Declare new function.
(parameter_of_template_p): Remove
* pt.c (template_type_parameter_p): Define new function.
(parameter_of_template_p): Remove.
* name-lookup.c (binding_to_template_parms_of_scope_p): Don't rely
on parameter_of_template_p anymore.  Compare the level of the
template parameter to the depth of the template.

gcc/testsuite/

PR c++/51641
* g++.dg/lookup/hidden-class17.C: New test.

Conflicts:

gcc/cp/pt.c

From-SVN: r185357
gcc/cp/ChangeLog
gcc/cp/cp-tree.h
gcc/cp/name-lookup.c
gcc/cp/pt.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/lookup/hidden-class17.C [new file with mode: 0644]