diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 94de5c0b1ec..46505862ccd 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +Tue Mar 17 11:40:26 1998 Jason Merrill + + * pt.c (push_template_decl): Complain about template with C linkage, + anonymous template class. + Mon Mar 16 12:10:39 1998 Jason Merrill * class.c (pushclass): Only use the mi_matrix stuff #ifdef MI_MATRIX. diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index f261edfa1e4..6cc0aa30083 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -1369,6 +1369,11 @@ 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. */