* pt.c (push_template_decl): Only check primary templates.

From-SVN: r18653
This commit is contained in:
Jason Merrill 1998-03-18 02:30:09 +00:00 committed by Jason Merrill
parent 670960acd3
commit 83566abf9f
2 changed files with 10 additions and 5 deletions

View File

@ -1,5 +1,7 @@
Wed Mar 18 00:24:10 1998 Jason Merrill <jason@yorick.cygnus.com>
* pt.c (push_template_decl): Only check primary templates.
* pt.c (check_explicit_specialization): Complain about default args
in explicit specialization.

View File

@ -1381,11 +1381,6 @@ push_template_decl (decl)
int is_friend = (TREE_CODE (decl) == FUNCTION_DECL
&& DECL_FRIEND_P (decl));
if (current_lang_name == lang_name_c)
cp_error ("template with C linkage");
if (TREE_CODE (decl) == TYPE_DECL && ANON_AGGRNAME_P (DECL_NAME (decl)))
cp_error ("template class without a name");
if (is_friend)
/* For a friend, we want the context of the friend function, not
the type of which it is a friend. */
@ -1416,6 +1411,14 @@ push_template_decl (decl)
else
primary = 0;
if (primary)
{
if (current_lang_name == lang_name_c)
cp_error ("template with C linkage");
if (TREE_CODE (decl) == TYPE_DECL && ANON_AGGRNAME_P (DECL_NAME (decl)))
cp_error ("template class without a name");
}
/* Partial specialization. */
if (TREE_CODE (decl) == TYPE_DECL && DECL_ARTIFICIAL (decl)
&& CLASSTYPE_TEMPLATE_SPECIALIZATION (TREE_TYPE (decl)))