diff options
-rw-r--r-- | gcc/cp/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/cp/search.c | 11 |
2 files changed, 8 insertions, 7 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 3e51108..1941f15 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -3,11 +3,13 @@ * lex.c (real_yylex): Don't warn about long long constants if we're allowing long long. -1998-08-23 Martin von Löwis <loewis@informatik.hu-berlin.de> +1998-08-24 Martin von Löwis <loewis@informatik.hu-berlin.de> * decl.c (pushdecl): Use IDENTIFIER_NAMESPACE_VALUE instead of accessing bindings directly. + * search.c (my_tree_cons): Reimplement. + * lang-specs.h: Remove __HONOR_STD. * inc/exception, inc/new, inc/new.h, inc/typeinfo: Likewise. 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; } |