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