From: Jason Merrill Date: Wed, 18 Mar 1998 02:30:09 +0000 (+0000) Subject: * pt.c (push_template_decl): Only check primary templates. X-Git-Tag: prereleases/egcs-1.1-prerelease~2064 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=83566abf9f4fd5d398c4622e9f40b747e92fa668;p=thirdparty%2Fgcc.git * pt.c (push_template_decl): Only check primary templates. From-SVN: r18653 --- diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 31dcfe42b54e..216ced7007bd 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,5 +1,7 @@ Wed Mar 18 00:24:10 1998 Jason Merrill + * pt.c (push_template_decl): Only check primary templates. + * pt.c (check_explicit_specialization): Complain about default args in explicit specialization. diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index 30b4054d6554..13fd811c785a 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -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)))