OSDN Git Service

* gcc-interface/misc.c (gnat_expand_expr): Remove.
[pf3gnuchains/gcc-fork.git] / gcc / varray.c
index 15a0bbb..d8e35b1 100644 (file)
@@ -1,5 +1,5 @@
 /* Virtual array support.
-   Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2006, 2007
+   Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2006, 2007, 2008
    Free Software Foundation, Inc.
    Contributed by Cygnus Solutions.
 
@@ -49,13 +49,13 @@ static htab_t varray_hash;
 static hashval_t
 hash_descriptor (const void *p)
 {
-  const struct varray_descriptor *d = p;
+  const struct varray_descriptor *d = (const struct varray_descriptor *) p;
   return htab_hash_pointer (d->name);
 }
 static int
 eq_descriptor (const void *p1, const void *p2)
 {
-  const struct varray_descriptor *d = p1;
+  const struct varray_descriptor *d = (const struct varray_descriptor *) p1;
   return d->name == p2;
 }
 
@@ -74,7 +74,7 @@ varray_descriptor (const char *name)
                              1);
   if (*slot)
     return *slot;
-  *slot = xcalloc (sizeof (**slot), 1);
+  *slot = XCNEW (struct varray_descriptor);
   (*slot)->name = name;
   return *slot;
 }
@@ -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);