+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.
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;
};
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;
}
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,
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,