diff options
author | Diego Novillo <dnovillo@gcc.gnu.org> | 2004-05-13 02:41:07 -0400 |
---|---|---|
committer | Diego Novillo <dnovillo@gcc.gnu.org> | 2004-05-13 02:41:07 -0400 |
commit | 6de9cd9a886ea695aa892c3c7c07818a7b7e9e6f (patch) | |
tree | a2568888a519c077427b133de9ece5879a8484a5 /gcc/varray.c | |
parent | ac1a20aec53364d77f3bdff94a2a0a06840e0fe9 (diff) | |
download | gcc-6de9cd9a886ea695aa892c3c7c07818a7b7e9e6f.zip gcc-6de9cd9a886ea695aa892c3c7c07818a7b7e9e6f.tar.gz gcc-6de9cd9a886ea695aa892c3c7c07818a7b7e9e6f.tar.bz2 |
Merge tree-ssa-20020619-branch into mainline.
From-SVN: r81764
Diffstat (limited to 'gcc/varray.c')
-rw-r--r-- | gcc/varray.c | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/gcc/varray.c b/gcc/varray.c index 9c70b9f..fc951da 100644 --- a/gcc/varray.c +++ b/gcc/varray.c @@ -99,6 +99,7 @@ static const struct { { sizeof (HOST_WIDE_INT), 1 }, { sizeof (unsigned HOST_WIDE_INT), 1 }, { sizeof (void *), 1 }, + { sizeof (void *), 0 }, { sizeof (char *), 1 }, { sizeof (struct rtx_def *), 1 }, { sizeof (struct rtvec_def *), 1 }, @@ -106,8 +107,10 @@ static const struct { { sizeof (struct bitmap_head_def *), 1 }, { sizeof (struct reg_info_def *), 0 }, { sizeof (struct const_equiv_data), 0 }, - { sizeof (struct basic_block_def *), 0 }, + { sizeof (struct basic_block_def *), 1 }, { sizeof (struct elt_list *), 1 }, + { sizeof (struct edge_def *), 1 }, + { sizeof (tree *), 1 }, }; /* Allocate a virtual array with NUM_ELEMENT elements, each of which is @@ -207,6 +210,26 @@ varray_underflow (varray_type va, const char *file, int line, #endif + +/* Copy varray V2 into varray V1. Both arrays must be the same size + and type. */ + +void +varray_copy (varray_type v1, varray_type v2) +{ + size_t data_size; + + if (v1->type != v2->type) + abort (); + + if (v1->num_elements != v2->num_elements) + abort (); + + data_size = element[v2->type].size * v2->num_elements; + memcpy (v1->data.c, v2->data.c, data_size); + v1->elements_used = v2->elements_used; +} + /* Output per-varray statistics. */ #ifdef GATHER_STATISTICS |