diff options
Diffstat (limited to 'gcc/varray.c')
-rw-r--r-- | gcc/varray.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/gcc/varray.c b/gcc/varray.c index 15a0bbbd0fc..45330397e0e 100644 --- a/gcc/varray.c +++ b/gcc/varray.c @@ -126,9 +126,9 @@ varray_init (size_t num_elements, enum varray_data_enum element_kind, desc->allocated += data_size + VARRAY_HDR_SIZE; #endif if (element[element_kind].uses_ggc) - ptr = ggc_alloc_cleared (VARRAY_HDR_SIZE + data_size); + ptr = GGC_CNEWVAR (struct varray_head_tag, VARRAY_HDR_SIZE + data_size); else - ptr = xcalloc (VARRAY_HDR_SIZE + data_size, 1); + ptr = XCNEWVAR (struct varray_head_tag, VARRAY_HDR_SIZE + data_size); ptr->num_elements = num_elements; ptr->elements_used = 0; @@ -159,9 +159,11 @@ varray_grow (varray_type va, size_t n) if (element[va->type].uses_ggc) - va = ggc_realloc (va, VARRAY_HDR_SIZE + data_size); + va = GGC_RESIZEVAR (struct varray_head_tag, va, + VARRAY_HDR_SIZE + data_size); else - va = xrealloc (va, VARRAY_HDR_SIZE + data_size); + va = XRESIZEVAR (struct varray_head_tag, va, + VARRAY_HDR_SIZE + data_size); va->num_elements = n; if (n > old_elements) memset (&va->data.vdt_c[old_data_size], 0, data_size - old_data_size); |