• mmitchel's avatar
    * decl.c (pushtag): Don't mangle the name of a TYPE_DECL if it · 26430721
    mmitchel authored
    	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.
    
    
    git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@21609 138bc75d-0d04-0410-961f-82ee72b054a4
    26430721
pt.c 225 KB