Correct libvtv obstack use
authorAlan Modra <amodra@gmail.com>
Mon, 9 Nov 2015 04:19:43 +0000 (14:49 +1030)
committerAlan Modra <amodra@gcc.gnu.org>
Mon, 9 Nov 2015 04:19:43 +0000 (14:49 +1030)
Fixes a compile error with both old and new obstacks due to
obstack_chunk_free having the wrong signature.  Also, setting chunk
size and alignment before obstack_init is pointless since they are
overwritten.

* vtv_malloc.cc (obstack_chunk_free): Correct param type.
(__vtv_malloc_init): Use obstack_specify_allocation.

From-SVN: r229985

libvtv/ChangeLog
libvtv/vtv_malloc.cc

index 57fe850bff5a64a79f85d7811e0f7a418c9b5951..4f216ac770329c0c59118e9bf175c76e34108b54 100644 (file)
@@ -1,3 +1,8 @@
+2015-11-09  Alan Modra  <amodra@gmail.com>
+
+       * vtv_malloc.cc (obstack_chunk_free): Correct param type.
+       (__vtv_malloc_init): Use obstack_specify_allocation.
+
 2015-10-20  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
 
        * configure.tgt (aarch64*-*-linux): Enable.
index ecd07eb709c429d9336e06b7514bfa6d13d9b1cf..ea26b8245c37873ebaa6e7eabcd50e6a94da0d67 100644 (file)
@@ -194,7 +194,7 @@ obstack_chunk_alloc (size_t size)
 }
 
 static void
-obstack_chunk_free (size_t)
+obstack_chunk_free (void *)
 {
   /* Do nothing. For our purposes there should be very little
      de-allocation. */
@@ -217,14 +217,13 @@ __vtv_malloc_init (void)
 #endif
     VTV_error ();
 
-  obstack_chunk_size (&vtv_obstack) = VTV_PAGE_SIZE;
-  obstack_alignment_mask (&vtv_obstack) = sizeof (long) - 1;
   /* We guarantee that the obstack alloc failed handler will never be
      called because in case the allocation of the chunk fails, it will
      never return */
   obstack_alloc_failed_handler = NULL;
 
-  obstack_init (&vtv_obstack);
+  obstack_specify_allocation (&vtv_obstack, VTV_PAGE_SIZE, sizeof (long),
+                             obstack_chunk_alloc, obstack_chunk_free);
   malloc_initialized = 1;
 }