This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[patch] dwarf2out.c: Use VEC instead of VARRAY. (part 2)


Hi,

Attached is a patch to use VEC instead of VARRAY.

Tested on i686-pc-linux-gnu.  I don't know if anyone is working in
this area, but I'll wait for 24 hours just in case before I check in
this patch.

Kazu Hirata

2005-05-03  Kazu Hirata  <kazu@cs.umass.edu>

	* dwarf2out.c (incomplete_types, retry_incomplete_types,
	gen_struct_or_union_type_die, dwarf2out_init): Use VEC instead
	of VARRAY.

Index: dwarf2out.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/dwarf2out.c,v
retrieving revision 1.590
diff -u -d -p -r1.590 dwarf2out.c
--- dwarf2out.c	1 May 2005 23:37:50 -0000	1.590
+++ dwarf2out.c	1 May 2005 23:50:26 -0000
@@ -175,9 +175,10 @@ default_eh_frame_section (void)
 static GTY(()) varray_type used_rtx_varray;
 
 /* A pointer to the base of a list of incomplete types which might be
-   completed at some later time.  incomplete_types_list needs to be a VARRAY
-   because we want to tell the garbage collector about it.  */
-static GTY(()) varray_type incomplete_types;
+   completed at some later time.  incomplete_types_list needs to be a
+   VEC(tree,gc) because we want to tell the garbage collector about
+   it.  */
+static GTY(()) VEC(tree,gc) *incomplete_types;
 
 /* A pointer to the base of a table of references to declaration
    scopes.  This table is a display which tracks the nesting
@@ -10975,8 +10976,8 @@ retry_incomplete_types (void)
 {
   int i;
 
-  for (i = VARRAY_ACTIVE_SIZE (incomplete_types) - 1; i >= 0; i--)
-    gen_type_die (VARRAY_TREE (incomplete_types, i), comp_unit_die);
+  for (i = VEC_length (tree, incomplete_types) - 1; i >= 0; i--)
+    gen_type_die (VEC_index (tree, incomplete_types, i), comp_unit_die);
 }
 
 /* Generate a DIE to represent an inlined instance of an enumeration type.  */
@@ -12122,7 +12123,7 @@ gen_struct_or_union_type_die (tree type,
       /* We don't need to do this for function-local types.  */
       if (TYPE_STUB_DECL (type)
 	  && ! decl_function_context (TYPE_STUB_DECL (type)))
-	VARRAY_PUSH_TREE (incomplete_types, type);
+	VEC_safe_push (tree, gc, incomplete_types, type);
     }
 }
 
@@ -13493,7 +13494,7 @@ dwarf2out_init (const char *filename ATT
      in this value in dwarf2out_finish.  */
   comp_unit_die = gen_compile_unit_die (NULL);
 
-  VARRAY_TREE_INIT (incomplete_types, 64, "incomplete_types");
+  incomplete_types = VEC_alloc (tree, gc, 64);
 
   VARRAY_RTX_INIT (used_rtx_varray, 32, "used_rtx_varray");
 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]