cp-tree.h (language_function): Change the type of x_local_names to VEC.
authorKazu Hirata <kazu@cs.umass.edu>
Wed, 4 May 2005 06:00:13 +0000 (06:00 +0000)
committerKazu Hirata <kazu@gcc.gnu.org>
Wed, 4 May 2005 06:00:13 +0000 (06:00 +0000)
* cp-tree.h (language_function): Change the type of
x_local_names to VEC.
* decl.c (push_local_name): Adjust uses of local_names.

From-SVN: r99209

gcc/cp/ChangeLog
gcc/cp/cp-tree.h
gcc/cp/decl.c

index 5813927..39d8675 100644 (file)
@@ -1,3 +1,9 @@
+2005-05-04  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * cp-tree.h (language_function): Change the type of
+       x_local_names to VEC.
+       * decl.c (push_local_name): Adjust uses of local_names.
+
 2005-05-03  Kazu Hirata  <kazu@cs.umass.edu>
 
        * friend.c, lex.c, mangle.c, repo.c: Update copyright.
index b057581..b5eab93 100644 (file)
@@ -750,7 +750,7 @@ struct language_function GTY(())
   struct named_label_use_list *x_named_label_uses;
   struct named_label_list *x_named_labels;
   struct cp_binding_level *bindings;
-  varray_type x_local_names;
+  VEC(tree,gc) *x_local_names;
 };
 
 /* The current C++-specific per-function global variables.  */
index 91f57ef..eb3bf4d 100644 (file)
@@ -832,15 +832,13 @@ push_local_name (tree decl)
   tree t, name;
 
   timevar_push (TV_NAME_LOOKUP);
-  if (!local_names)
-    VARRAY_TREE_INIT (local_names, 8, "local_names");
 
   name = DECL_NAME (decl);
 
-  nelts = VARRAY_ACTIVE_SIZE (local_names);
+  nelts = VEC_length (tree, local_names);
   for (i = 0; i < nelts; i++)
     {
-      t = VARRAY_TREE (local_names, i);
+      t = VEC_index (tree, local_names, i);
       if (DECL_NAME (t) == name)
        {
          if (!DECL_LANG_SPECIFIC (decl))
@@ -851,13 +849,13 @@ push_local_name (tree decl)
          else
            DECL_DISCRIMINATOR (decl) = 1;
 
-         VARRAY_TREE (local_names, i) = decl;
+         VEC_replace (tree, local_names, i, decl);
          timevar_pop (TV_NAME_LOOKUP);
          return;
        }
     }
 
-  VARRAY_PUSH_TREE (local_names, decl);
+  VEC_safe_push (tree, gc, local_names, decl);
   timevar_pop (TV_NAME_LOOKUP);
 }
 \f