This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[patch] dwarf2out.c: Use VEC instead of VARRAY. (part 2)
- From: Kazu Hirata <kazu at cs dot umass dot edu>
- To: gcc-patches at gcc dot gnu dot org
- Date: Mon, 02 May 2005 20:08:38 -0400 (EDT)
- Subject: [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");