egcs/gcc cp/ChangeLog cp/cp-tree.h cp/decl.c c ...

Mark Mitchell mmitchel@cygnus.com
Fri Jul 31 15:01:00 GMT 1998


CVSROOT:	/egcs/carton/cvsfiles
Module name:	egcs
Changes by:	mmitchel@egcs.cygnus.com	98/07/31 15:01:21

Modified files:
	gcc/cp         : ChangeLog cp-tree.h decl.c friend.c pt.c 
	                 semantics.c 
	gcc/testsuite/g++.old-deja/g++.pt: explicit34.C 
Added files:
	gcc/testsuite/g++.old-deja/g++.pt: crash15.C enum5.C friend28.C 
	                                   friend29.C 

Log message:
	1998-07-31  Mark Mitchell  <mark@markmitchell.com>
	
	* cp-tree.h (PROCESSING_REAL_TEMPLATE_DECL_P): New macro.
	(maybe_check_template_type): New function.
	* decl.c (maybe_process_template_type_declaration): New function,
	split out from pushtag  Call maybe_check_template_type.
	(pushtag): Use it.  Use PROCESSING_REAL_TEMPLATE_DECL_P.
	(xref_tag): Use PROCESSING_REAL_TEMPLATE_DECL_P.
	* friend.c (do_friend): Use PROCESSING_REAL_TEMPLATE_DECL_P.
	* pt.c (template_class_depth_real): Generalization of ...
	(template_class_depth): Use it.
	(register_specialization): Use duplicate_decls for duplicate
	declarations of specializations.
	(maybe_check_template_type): New function.
	(push_template_decl_real): Fix comment.
	(convert_nontype_argument): Likewise.
	(lookup_template_class): Likewise.  Avoid an infinite loop on
	erroneous code.
	(tsubst_friend_function): Fix comment.
	(tsubst, case FUNCTION_DECL): Deal with a DECL_TI_TEMPLATE that is
	an IDENTIFIER_NODE.
	* semantics.c (begin_function_definition): Use
	reset_specialization to note that template headers don't apply
	directly to declarations after the opening curly for a function.




More information about the Gcc-cvs mailing list