+2005-04-04 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/20679
+ * parser.c (cp_parser_template_name): Fix thinko.
+
2005-04-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
PR c++/18644
;
else
{
+ tree fn = NULL_TREE;
+
/* The standard does not explicitly indicate whether a name that
names a set of overloaded declarations, some of which are
templates, is a template-name. However, such a name should
template-id for the overloaded templates. */
fns = BASELINK_P (decl) ? BASELINK_FUNCTIONS (decl) : decl;
if (TREE_CODE (fns) == OVERLOAD)
- {
- tree fn;
-
- for (fn = fns; fn; fn = OVL_NEXT (fn))
- if (TREE_CODE (OVL_CURRENT (fn)) == TEMPLATE_DECL)
- break;
- }
- else
+ for (fn = fns; fn; fn = OVL_NEXT (fn))
+ if (TREE_CODE (OVL_CURRENT (fn)) == TEMPLATE_DECL)
+ break;
+
+ if (!fn)
{
/* Otherwise, the name does not name a template. */
cp_parser_error (parser, "expected template-name");
+2005-04-04 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/20679
+ * g++.dg/template/overload4.C: New test.
+
2005-04-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
PR c++/18644