diff options
Diffstat (limited to 'gcc/cp/search.c')
-rw-r--r-- | gcc/cp/search.c | 11 |
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; } |