aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/search.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/cp/search.c')
-rw-r--r--gcc/cp/search.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/gcc/cp/search.c b/gcc/cp/search.c
index 79042e1..6367358 100644
--- a/gcc/cp/search.c
+++ b/gcc/cp/search.c
@@ -261,13 +261,12 @@ static tree
my_tree_cons (purpose, value, chain)
tree purpose, value, chain;
{
- tree p = (tree)obstack_alloc (&type_obstack_entries, sizeof (struct tree_list));
- bzero ((char *)p, sizeof (struct tree_list));
+ tree p;
+ struct obstack *ambient_obstack = current_obstack;
+ current_obstack = &type_obstack_entries;
+ p = tree_cons (purpose, value, chain);
+ current_obstack = ambient_obstack;
++my_tree_node_counter;
- TREE_SET_CODE (p, TREE_LIST);
- TREE_PURPOSE (p) = purpose;
- TREE_VALUE (p) = value;
- TREE_CHAIN (p) = chain;
return p;
}