------- Comment #2 from jason at gcc dot gnu dot org 2010-05-12 17:35 ------- Subject: Bug 20669
Author: jason Date: Wed May 12 17:34:55 2010 New Revision: 159335 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=159335 Log: PR c++/20669 * call.c (add_template_candidate_real): If deduction fails, still add the template as a non-viable candidate. (equal_functions): Handle template candidates. (print_z_candidate): Likewise. (print_z_candidates): Likewise. (build_new_function_call): Likewise. Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/call.c trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/g++.dg/conversion/op1.C trunk/gcc/testsuite/g++.dg/cpp0x/nullptr15.C trunk/gcc/testsuite/g++.dg/cpp0x/pr31431-2.C trunk/gcc/testsuite/g++.dg/cpp0x/pr31431.C trunk/gcc/testsuite/g++.dg/cpp0x/temp_default2.C trunk/gcc/testsuite/g++.dg/cpp0x/trailing4.C trunk/gcc/testsuite/g++.dg/cpp0x/variadic-ex3.C trunk/gcc/testsuite/g++.dg/cpp0x/variadic-ex4.C trunk/gcc/testsuite/g++.dg/cpp0x/variadic-throw.C trunk/gcc/testsuite/g++.dg/cpp0x/variadic35.C trunk/gcc/testsuite/g++.dg/cpp0x/vt-35147.C trunk/gcc/testsuite/g++.dg/cpp0x/vt-37737-1.C trunk/gcc/testsuite/g++.dg/cpp0x/vt-37737-2.C trunk/gcc/testsuite/g++.dg/ext/visibility/anon8.C trunk/gcc/testsuite/g++.dg/ext/vla2.C trunk/gcc/testsuite/g++.dg/other/pr28114.C trunk/gcc/testsuite/g++.dg/other/ptrmem10.C trunk/gcc/testsuite/g++.dg/other/ptrmem11.C trunk/gcc/testsuite/g++.dg/overload/unknown1.C trunk/gcc/testsuite/g++.dg/parse/template7.C trunk/gcc/testsuite/g++.dg/parse/typename7.C trunk/gcc/testsuite/g++.dg/template/conv11.C trunk/gcc/testsuite/g++.dg/template/copy1.C trunk/gcc/testsuite/g++.dg/template/deduce3.C trunk/gcc/testsuite/g++.dg/template/dependent-expr5.C trunk/gcc/testsuite/g++.dg/template/friend.C trunk/gcc/testsuite/g++.dg/template/incomplete2.C trunk/gcc/testsuite/g++.dg/template/local4.C trunk/gcc/testsuite/g++.dg/template/local6.C trunk/gcc/testsuite/g++.dg/template/operator10.C trunk/gcc/testsuite/g++.dg/template/overload6.C trunk/gcc/testsuite/g++.dg/template/ptrmem2.C trunk/gcc/testsuite/g++.dg/template/ptrmem20.C trunk/gcc/testsuite/g++.dg/template/ptrmem8.C trunk/gcc/testsuite/g++.dg/template/sfinae2.C trunk/gcc/testsuite/g++.dg/template/ttp25.C trunk/gcc/testsuite/g++.dg/template/unify10.C trunk/gcc/testsuite/g++.dg/template/unify11.C trunk/gcc/testsuite/g++.dg/template/unify6.C trunk/gcc/testsuite/g++.dg/template/unify7.C trunk/gcc/testsuite/g++.dg/template/unify9.C trunk/gcc/testsuite/g++.dg/template/varmod1.C trunk/gcc/testsuite/g++.old-deja/g++.brendan/crash56.C trunk/gcc/testsuite/g++.old-deja/g++.law/operators32.C trunk/gcc/testsuite/g++.old-deja/g++.pt/crash28.C trunk/gcc/testsuite/g++.old-deja/g++.pt/crash60.C trunk/gcc/testsuite/g++.old-deja/g++.pt/explicit38.C trunk/gcc/testsuite/g++.old-deja/g++.pt/explicit39.C trunk/gcc/testsuite/g++.old-deja/g++.pt/explicit41.C trunk/gcc/testsuite/g++.old-deja/g++.pt/explicit67.C trunk/gcc/testsuite/g++.old-deja/g++.pt/explicit77.C trunk/gcc/testsuite/g++.old-deja/g++.pt/expr2.C trunk/gcc/testsuite/g++.old-deja/g++.pt/overload7.C trunk/gcc/testsuite/g++.old-deja/g++.pt/ptrmem6.C trunk/gcc/testsuite/g++.old-deja/g++.pt/spec5.C trunk/gcc/testsuite/g++.old-deja/g++.pt/spec6.C trunk/gcc/testsuite/g++.old-deja/g++.pt/t24.C trunk/gcc/testsuite/g++.old-deja/g++.pt/unify4.C trunk/gcc/testsuite/g++.old-deja/g++.pt/unify6.C trunk/gcc/testsuite/g++.old-deja/g++.pt/unify8.C trunk/gcc/testsuite/g++.old-deja/g++.robertl/eb119.C trunk/gcc/testsuite/g++.old-deja/g++.robertl/eb79.C trunk/gcc/testsuite/g++.old-deja/g++.robertl/eb98.C trunk/libstdc++-v3/ChangeLog trunk/libstdc++-v3/testsuite/20_util/auto_ptr/assign_neg.cc trunk/libstdc++-v3/testsuite/20_util/unique_ptr/assign/assign_neg.cc trunk/libstdc++-v3/testsuite/20_util/weak_ptr/comparison/cmp_neg.cc -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20669