egcs/gcc cp/decl.c cp/init.c cp/method.c cp/pt ...

Mark Mitchell mmitchel@cygnus.com
Tue Aug 4 11:46:00 GMT 1998


CVSROOT:	/egcs/carton/cvsfiles
Module name:	egcs
Changes by:	mmitchel@egcs.cygnus.com	98/08/04 11:46:42

Modified files:
	gcc/cp         : decl.c init.c method.c pt.c ChangeLog 
Added files:
	gcc/testsuite/g++.old-deja/g++.pt: crash18.C memclass16.C 

Log message:
	* decl.c (pushtag): Don't mangle the name of a TYPE_DECL if it
	uses template parameters.
	* method.c (build_template_parm_names): Use the full set of
	template arguments for tsubst'ing.
	(build_overload_identifier): Pass the full set of template
	arguments to build_template_parm_names, not just the
	innermost_args.
	* pt.c (TMPL_ARGS_DEPTH): Define using
	TMPL_ARGS_HAVE_MULTIPLE_LEVELS, for clarity.
	(NUM_TMPL_ARGS): New macro.
	(add_outermost_template_args): Deal with the case where the outer
	args will be completely discarded.
	(coerce_template_parms): Use the full set of template arguments
	for tsubst'ing.  Simplify.  Add some asserts.  Improve
	error messages.
	(lookup_template_class): Pass the full set of template arguments
	to coerce_template_parms.
	(tsubst): Add assertion.
	(do_type_instantiation): Don't instantiate member template
	classes.
	
	* init.c (build_offset_ref): Deal with a TEMPLATE_ID_EXPR whose
	name is a LOOKUP_EXPR, rather than an IDENTIFIER_NODE.




More information about the Gcc-cvs mailing list