* search.c (my_tree_cons): Reimplement.
authorMartin v. Löwis <loewis@informatik.hu-berlin.de>
Mon, 24 Aug 1998 02:05:51 +0000 (22:05 -0400)
committerJason Merrill <jason@gcc.gnu.org>
Mon, 24 Aug 1998 02:05:51 +0000 (22:05 -0400)
From-SVN: r21927

gcc/cp/ChangeLog
gcc/cp/search.c

index 3e511084efed7ed60b7baff89e069ab065c699cb..1941f1573233989ef580a2c521ef06572f7f5d6c 100644 (file)
@@ -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.
 
index 79042e1a52e05a627a3769b147f980167598db51..6367358ba78d792872061dbd54a5714d732e101d 100644 (file)
@@ -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;
 }