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>
* cp-tree.h (IDENTIFIER_REPO_CHOSEN): Define.
......
......@@ -424,7 +424,7 @@ struct z_candidate {
the `this' pointer must correspond to the most derived class
indicated by the CONVERSION_PATH. */
tree conversion_path;
tree template;
tree template_decl;
candidate_warning *warnings;
z_candidate *next;
};
......@@ -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),
so that we can find the definition. For the purposes of
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
cand->template = DECL_TEMPLATE_INFO (fn);
cand->template_decl = DECL_TEMPLATE_INFO (fn);
return cand;
}
......@@ -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
specialization. */
if (! cand1->template && cand2->template)
if (!cand1->template_decl && cand2->template_decl)
return 1;
else if (cand1->template && ! cand2->template)
else if (cand1->template_decl && !cand2->template_decl)
return -1;
/* or, if not that,
......@@ -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
ordering rules. */
if (cand1->template && cand2->template)
if (cand1->template_decl && cand2->template_decl)
{
winner = more_specialized
(TI_TEMPLATE (cand1->template), TI_TEMPLATE (cand2->template),
(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,
......
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