From c1e39976c9610d2fcce9cb959db1f113d6a0402d Mon Sep 17 00:00:00 2001 From: Jan Hubicka Date: Mon, 12 Jan 2004 14:18:13 +0100 Subject: [PATCH] pt.c (for_each_template_parm): Do not check for duplicates. * pt.c (for_each_template_parm): Do not check for duplicates. (for_each_template_parm): Use walk_tree duplicate checking code. From-SVN: r75718 --- gcc/cp/ChangeLog | 5 +++++ gcc/cp/pt.c | 13 +------------ 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 2d100c8cab2a..d721909963b4 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2004-01-12 Jan Hubicka + + * pt.c (for_each_template_parm): Do not check for duplicates. + (for_each_template_parm): Use walk_tree duplicate checking code. + 2004-01-11 Ian Lance Taylor PR c++/3478 diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index 040476c2181d..473b6fe03bdf 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -4511,17 +4511,6 @@ for_each_template_parm_r (tree* tp, int* walk_subtrees, void* d) struct pair_fn_data *pfd = (struct pair_fn_data *) d; tree_fn_t fn = pfd->fn; void *data = pfd->data; - void **slot; - - /* If we have already visited this tree, there's no need to walk - subtrees. Otherwise, add it to the visited table. */ - slot = htab_find_slot (pfd->visited, *tp, INSERT); - if (*slot) - { - *walk_subtrees = 0; - return NULL_TREE; - } - *slot = *tp; if (TYPE_P (t) && for_each_template_parm (TYPE_CONTEXT (t), fn, data, pfd->visited)) @@ -4714,7 +4703,7 @@ for_each_template_parm (tree t, tree_fn_t fn, void* data, htab_t visited) result = walk_tree (&t, for_each_template_parm_r, &pfd, - NULL) != NULL_TREE; + pfd.visited) != NULL_TREE; /* Clean up. */ if (!visited) -- 2.47.3