summaryrefslogtreecommitdiff
path: root/gcc/cp/call.c
diff options
context:
space:
mode:
authornathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>2005-03-31 17:36:17 +0000
committernathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>2005-03-31 17:36:17 +0000
commit517ee39a43d80fd91cc7c91c244ca0fc6e1d008e (patch)
tree5ecfece501acdb1b2be881d9444e863d74730ab4 /gcc/cp/call.c
parent4c9899442c741553dafcc7200453facc56916103 (diff)
downloadgcc-517ee39a43d80fd91cc7c91c244ca0fc6e1d008e.tar.gz
cp:
PR c++/19203, implement DR 214 * call.c (joust): Use more_specialized_fn. * cp-tree.h (DEDUCE_ORDER): Remove. (more_specialized): Replace with ... (more_specialized_fn): ... this. * pt.c (maybe_adjust_types_for_deduction): Remove DEDUCE_ORDER case. (type_unification_real): Remove DEDUCE_ORDER case. (more_specialized): Replace with ... (more_specialized_fn): ... this. Implement DR 214. (most_specialized_instantiation): Use get_bindings_real directly. testsuite: PR c++/19203, DR 214 * g++.dg/parse/ambig3.C: Not ambiguous. * g++.dg/template/spec20.C: New. * g++.dg/template/spec21.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@97336 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cp/call.c')
-rw-r--r--gcc/cp/call.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/gcc/cp/call.c b/gcc/cp/call.c
index 131e175631e..9d76276cfff 100644
--- a/gcc/cp/call.c
+++ b/gcc/cp/call.c
@@ -6084,10 +6084,9 @@ joust (struct z_candidate *cand1, struct z_candidate *cand2, bool warn)
if (cand1->template_decl && cand2->template_decl)
{
- winner = more_specialized
+ winner = more_specialized_fn
(TI_TEMPLATE (cand1->template_decl),
TI_TEMPLATE (cand2->template_decl),
- DEDUCE_ORDER,
/* Tell the deduction code how many real function arguments
we saw, not counting the implicit 'this' argument. But,
add_function_candidate() suppresses the "this" argument