Wed Jan 21 10:29:57 1998 Kriang Lerdsuwanakij <lerdsuwa@scf.usc.edu> * pt.c (coerce_template_parms): Don't access elements of ARGLIST that is not really present. Substitute default arguments in template template arguments. Correctly convert TEMPLATE_DECL to TEMPLATE_TEMPLATE_PARM. (comp_template_args): TEMPLATE_DECL and TEMPLATE_TEMPLATE_PARM are no longer treated specially here. * parse.y (template_template_parm): Fix copy error. * decl.c (grokdeclarator): Warn about missing `typename' for nested type created from template template parameters. * parse.y (bad_parm): Likewise * class.c (finish_struct): Handle TEMPLATE_TEMPLATE_PARM. (push_nested_class): Likewise. * cp-tree.def (TEMPLATE_TEMPLATE_PARM): New tree code. * cp-tree.h (DECL_TEMPLATE_TEMPLATE_PARM_P): New macro. (copy_template_template_parm): Declare. * decl.c (arg_looking_for_template): New variable. (lookup_name_real): Handle TEMPLATE_TEMPLATE_PARM. Try to return TEMPLATE_DECL or TEMPLATE_TEMPLATE_PARM node if arg_looking_for_template is nonzero. (pushdecl): Handle TEMPLATE_TEMPLATE_PARM. (grok_op_properties, xref_tag, xref_basetypes): Likewise. (grokdeclarator): Handle TEMPLATE_DECL. * decl2.c (constructor_name_full): Handle TEMPLATE_TEMPLATE_PARM. * error.c (dump_type): Add TEMPLATE_DECL and TEMPLATE_TEMPLATE_PARM. (dump_type_prefix, dump_type_suffix) Handle TEMPLATE_TEMPLATE_PARM. (dump_decl): Handle unnamed template type parameters. Handle template template parameters. (dump_function_name): Handle template template parameters. * init.c (is_aggr_typedef, is_aggr_type, get_aggr_from_typedef): Handle TEMPLATE_TEMPLATE_PARM. * method.c (build_template_template_parm_names): New function. (build_template_parm_names): Handle TEMPLATE_DECL. (build_overload_nested_name, build_overload_name): Handle TEMPLATE_TEMPLATE_PARM. * parse.y (maybe_identifier): New nonterminal. (template_type_parm): Use it. (template_template_parm, template_arg1): New nonterminal. (template_parm): Add template_template_parm rules. (template_arg): Set processing_template_arg. (template_arg1): Rules moved from template_arg. (primary, nonnested_type): Set arg_looking_for_template if we are processing template arguments. * pt.c (begin_member_template_processing): Handle TEMPLATE_DECL. (process_template_parm): Handle template template parameters. (coerce_template_parms, comp_template_args): Likewise. (mangle_class_name_for_template, lookup_template_class): Likewise. (uses_template_parms): Handle TEMPLATE_DECL and TEMPLATE_TEMPLATE_PARM. (current_template_args): Handle TEMPLATE_DECL. (tsubst, tsubst_copy, unify): Handle TEMPLATE_TEMPLATE_PARM. * search.c (dfs_walk, dfs_record_inheritance): Handle TEMPLATE_TEMPLATE_PARM. * tree.c (copy_template_template_parm): New function. (mapcar): Handle TEMPLATE_TEMPLATE_PARM. * typeck.c (comptypes): Handle TEMPLATE_TEMPLATE_PARM. From-SVN: r17441
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
inc | Loading commit data... | |
ChangeLog | Loading commit data... | |
ChangeLog.1 | Loading commit data... | |
ChangeLog.egcs | Loading commit data... | |
Make-lang.in | Loading commit data... | |
Makefile.in | Loading commit data... | |
NEWS | Loading commit data... | |
call.c | Loading commit data... | |
class.c | Loading commit data... | |
class.h | Loading commit data... | |
config-lang.in | Loading commit data... | |
cp-tree.def | Loading commit data... | |
cp-tree.h | Loading commit data... | |
cvt.c | Loading commit data... | |
decl.c | Loading commit data... | |
decl.h | Loading commit data... | |
decl2.c | Loading commit data... | |
errfn.c | Loading commit data... | |
error.c | Loading commit data... | |
except.c | Loading commit data... | |
exception.cc | Loading commit data... | |
expr.c | Loading commit data... | |
friend.c | Loading commit data... | |
g++.1 | Loading commit data... | |
g++FAQ.texi | Loading commit data... | |
g++spec.c | Loading commit data... | |
gxx.gperf | Loading commit data... | |
gxxint.texi | Loading commit data... | |
hash.h | Loading commit data... | |
init.c | Loading commit data... | |
input.c | Loading commit data... | |
lang-options.h | Loading commit data... | |
lang-specs.h | Loading commit data... | |
lex.c | Loading commit data... | |
lex.h | Loading commit data... | |
method.c | Loading commit data... | |
mpw-config.in | Loading commit data... | |
mpw-make.sed | Loading commit data... | |
new.cc | Loading commit data... | |
new1.cc | Loading commit data... | |
new2.cc | Loading commit data... | |
parse.c | Loading commit data... | |
parse.h | Loading commit data... | |
parse.y | Loading commit data... | |
pt.c | Loading commit data... | |
ptree.c | Loading commit data... | |
repo.c | Loading commit data... | |
rtti.c | Loading commit data... | |
search.c | Loading commit data... | |
sig.c | Loading commit data... | |
spew.c | Loading commit data... | |
tinfo.cc | Loading commit data... | |
tinfo.h | Loading commit data... | |
tinfo2.cc | Loading commit data... | |
tree.c | Loading commit data... | |
typeck.c | Loading commit data... | |
typeck2.c | Loading commit data... | |
xref.c | Loading commit data... |