Commit ea0ad329 by Gabriel Dos Reis Committed by Gabriel Dos Reis

call.c (z_candidate::template_decl): Rename from template.

        * call.c (z_candidate::template_decl): Rename from template.
        (add_template_candidate_real): Adjust member reference.
        (joust): Likewise.

From-SVN: r85411
parent dc6d7095
2004-08-01 Gabriel Dos Reis <gdr@integrable-solutions.net>
* call.c (z_candidate::template_decl): Rename from template.
(add_template_candidate_real): Adjust member reference.
(joust): Likewise.
2004-07-29 Mark Mitchell <mark@codesourcery.com> 2004-07-29 Mark Mitchell <mark@codesourcery.com>
* cp-tree.h (IDENTIFIER_REPO_CHOSEN): Define. * cp-tree.h (IDENTIFIER_REPO_CHOSEN): Define.
......
...@@ -424,7 +424,7 @@ struct z_candidate { ...@@ -424,7 +424,7 @@ struct z_candidate {
the `this' pointer must correspond to the most derived class the `this' pointer must correspond to the most derived class
indicated by the CONVERSION_PATH. */ indicated by the CONVERSION_PATH. */
tree conversion_path; tree conversion_path;
tree template; tree template_decl;
candidate_warning *warnings; candidate_warning *warnings;
z_candidate *next; z_candidate *next;
}; };
...@@ -2262,9 +2262,9 @@ add_template_candidate_real (struct z_candidate **candidates, tree tmpl, ...@@ -2262,9 +2262,9 @@ add_template_candidate_real (struct z_candidate **candidates, tree tmpl,
for this will point at template <class T> template <> S<T>::f(int), for this will point at template <class T> template <> S<T>::f(int),
so that we can find the definition. For the purposes of so that we can find the definition. For the purposes of
overload resolution, however, we want the original TMPL. */ overload resolution, however, we want the original TMPL. */
cand->template = tree_cons (tmpl, targs, NULL_TREE); cand->template_decl = tree_cons (tmpl, targs, NULL_TREE);
else else
cand->template = DECL_TEMPLATE_INFO (fn); cand->template_decl = DECL_TEMPLATE_INFO (fn);
return cand; return cand;
} }
...@@ -6023,9 +6023,9 @@ joust (struct z_candidate *cand1, struct z_candidate *cand2, bool warn) ...@@ -6023,9 +6023,9 @@ joust (struct z_candidate *cand1, struct z_candidate *cand2, bool warn)
F1 is a non-template function and F2 is a template function F1 is a non-template function and F2 is a template function
specialization. */ specialization. */
if (! cand1->template && cand2->template) if (!cand1->template_decl && cand2->template_decl)
return 1; return 1;
else if (cand1->template && ! cand2->template) else if (cand1->template_decl && !cand2->template_decl)
return -1; return -1;
/* or, if not that, /* or, if not that,
...@@ -6033,10 +6033,11 @@ joust (struct z_candidate *cand1, struct z_candidate *cand2, bool warn) ...@@ -6033,10 +6033,11 @@ joust (struct z_candidate *cand1, struct z_candidate *cand2, bool warn)
more specialized than the template for F2 according to the partial more specialized than the template for F2 according to the partial
ordering rules. */ ordering rules. */
if (cand1->template && cand2->template) if (cand1->template_decl && cand2->template_decl)
{ {
winner = more_specialized winner = more_specialized
(TI_TEMPLATE (cand1->template), TI_TEMPLATE (cand2->template), (TI_TEMPLATE (cand1->template_decl),
TI_TEMPLATE (cand2->template_decl),
DEDUCE_ORDER, DEDUCE_ORDER,
/* Tell the deduction code how many real function arguments /* Tell the deduction code how many real function arguments
we saw, not counting the implicit 'this' argument. But, we saw, not counting the implicit 'this' argument. But,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment