* cp-tree.h (CLASSTYPE_IS_TEMPLATE): New macro. (DECL_CLASS_TEMPLATE_P): Likewise. (DECL_PRIMARY_TEMPLATE): Likewise. (PRIMARY_TEMPLATE_P): Use it. (push_template_decl_real): New function. (redeclare_class_template): Take new template parameters as input. (is_specialization_of): New function. (comp_template_args): Declare. * decl.c (pushtag): Handle friend template classes. (xref_tag): Likewise. Use new calling convention for redeclare_class_template. * decl2.c (grok_x_components): Handle friend templates. * friend.c (is_friend): Use is_specialization_of where appropriate. Deal with friend class templates. (make_friend_class): Let a class template be friends with itself. * pt.c (comp_template_args): Remove declaration. (tsubst_friend_class): New function. (push_template_decl_real): New function. (push_template_decl): Use it. (redeclare_class_template): Adjust for new calling convention. (comp_template_args): Give it external linkage. (instantiate_class_type): Use tsubst_friend_class to deal with friend templates. * typeck.c (comptypes): Use comp_template_args, rather than expanding it inline. * parse.y (component_decl): Handle a nested template type like other component type declarations. From-SVN: r19418
Name |
Last commit
|
Last update |
---|---|---|
INSTALL | Loading commit data... | |
config | Loading commit data... | |
contrib/fixinc | Loading commit data... | |
etc | Loading commit data... | |
gcc | Loading commit data... | |
include | Loading commit data... | |
libf2c | Loading commit data... | |
libiberty | Loading commit data... | |
libio | Loading commit data... | |
libstdc++ | Loading commit data... | |
texinfo | Loading commit data... | |
xiberty | Loading commit data... | |
.cvsignore | Loading commit data... | |
COPYING | Loading commit data... | |
COPYING.LIB | Loading commit data... | |
ChangeLog | Loading commit data... | |
MAINTAINERS | Loading commit data... | |
Makefile.in | Loading commit data... | |
README | Loading commit data... | |
config-ml.in | Loading commit data... | |
config.guess | Loading commit data... | |
config.sub | Loading commit data... | |
configure | Loading commit data... | |
configure.in | Loading commit data... | |
install-sh | Loading commit data... | |
ltconfig | Loading commit data... | |
ltmain.sh | Loading commit data... | |
missing | Loading commit data... | |
mkinstalldirs | Loading commit data... | |
move-if-change | Loading commit data... | |
mpw-README | Loading commit data... | |
mpw-build.in | Loading commit data... | |
mpw-config.in | Loading commit data... | |
mpw-configure | Loading commit data... | |
mpw-install | Loading commit data... | |
symlink-tree | Loading commit data... | |
ylwrap | Loading commit data... |