PR c++/25855
commitd9db88e121564148b221a34fab10908b13f1b294
authormmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 28 Jan 2006 19:28:01 +0000 (28 19:28 +0000)
committermmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 28 Jan 2006 19:28:01 +0000 (28 19:28 +0000)
treecf01e7e1711bb0a24daf243f5df6daba7b5aa587
parente0464104c4927c8cd7cb2bf07f157762120df8e0
PR c++/25855
* class.c (resolve_address_of_overloaded_function): Adjust use of
return value from most_specialized_instantiation.
* pt.c (determine_specialization): Avoid multiple calls to
get_bindings.
(most_specialized_instantiation): When a tie occurs, set the
current presumed champion to the next template.  Return the
TREE_LIST node containing the template, rather than the template
itself.
(most_specialized): Remove.
* name-lookup.c (push_overloaded_decl): When duplicate_decls
indicates a failed redeclaration, report that to callers.
PR c++/25855
* g++.dg/template/spec29.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110332 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/cp/ChangeLog
gcc/cp/class.c
gcc/cp/name-lookup.c
gcc/cp/pt.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/template/spec29.C [new file with mode: 0644]