pt.c (end_template_parm_list): Clear TREE_CHAIN of each parm.

cp:
	* pt.c (end_template_parm_list): Clear TREE_CHAIN of each parm.

From-SVN: r47604
This commit is contained in:
Nathan Sidwell 2001-12-04 09:51:18 +00:00 committed by Nathan Sidwell
parent 713ccd0c6c
commit 9471d3e291
2 changed files with 12 additions and 6 deletions

View File

@ -1,3 +1,7 @@
2001-12-04 Nathan Sidwell <nathan@codesourcery.com>
* pt.c (end_template_parm_list): Clear TREE_CHAIN of each parm.
2001-12-04 Nathan Sidwell <nathan@codesourcery.com> 2001-12-04 Nathan Sidwell <nathan@codesourcery.com>
PR g++/164 PR g++/164

View File

@ -2000,17 +2000,19 @@ end_template_parm_list (parms)
tree parms; tree parms;
{ {
int nparms; int nparms;
tree parm; tree parm, next;
tree saved_parmlist = make_tree_vec (list_length (parms)); tree saved_parmlist = make_tree_vec (list_length (parms));
current_template_parms current_template_parms
= tree_cons (size_int (processing_template_decl), = tree_cons (size_int (processing_template_decl),
saved_parmlist, current_template_parms); saved_parmlist, current_template_parms);
for (parm = parms, nparms = 0; for (parm = parms, nparms = 0; parm; parm = next, nparms++)
parm; {
parm = TREE_CHAIN (parm), nparms++) next = TREE_CHAIN (parm);
TREE_VEC_ELT (saved_parmlist, nparms) = parm; TREE_VEC_ELT (saved_parmlist, nparms) = parm;
TREE_CHAIN (parm) = NULL_TREE;
}
--processing_template_parmlist; --processing_template_parmlist;
@ -9188,7 +9190,7 @@ get_bindings_overload (fn, decl, explicit_args)
/* Return the innermost template arguments that, when applied to a /* Return the innermost template arguments that, when applied to a
template specialization whose innermost template parameters are template specialization whose innermost template parameters are
TPARMS, and whose specialization arguments are ARGS, yield the TPARMS, and whose specialization arguments are PARMS, yield the
ARGS. ARGS.
For example, suppose we have: For example, suppose we have: