[Bug c++/25855] [4.0/4.1/4.2 Regression] template specialisation not always found (partial ordering)

mmitchel at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Sat Jan 28 19:28:00 GMT 2006



------- Comment #18 from mmitchel at gcc dot gnu dot org  2006-01-28 19:28 -------
Subject: Bug 25855

Author: mmitchel
Date: Sat Jan 28 19:28:01 2006
New Revision: 110332

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=110332
Log:
        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.

Added:
    trunk/gcc/testsuite/g++.dg/template/spec29.C
Modified:
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/class.c
    trunk/gcc/cp/name-lookup.c
    trunk/gcc/cp/pt.c
    trunk/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25855



More information about the Gcc-bugs mailing list