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