OSDN Git Service

merge from gcc
authordj <dj>
Wed, 22 Aug 2001 22:55:38 +0000 (22:55 +0000)
committerdj <dj>
Wed, 22 Aug 2001 22:55:38 +0000 (22:55 +0000)
libiberty/ChangeLog
libiberty/fibheap.c

index 45b2681..9978675 100644 (file)
@@ -1,3 +1,10 @@
+2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
+
+       * fibheap.c (fibheap_init, fibnode_init): Remove.
+       (fibheap_new, fibnode_new): Use xcalloc to allocate and
+       initialize memory.
+       (fibheap_insert): Remove check for node allocation failure.
+
 2001-08-21  Richard Henderson  <rth@redhat.com>
 
        * Makefile.in (fibheap.o): Depend on config.h.
index 7431e11..0ba9b8d 100644 (file)
@@ -37,7 +37,6 @@ Boston, MA 02111-1307, USA.  */
 
 #define FIBHEAPKEY_MIN LONG_MIN
 
-static void fibheap_init PARAMS ((fibheap_t));
 static void fibheap_ins_root PARAMS ((fibheap_t, fibnode_t));
 static void fibheap_rem_root PARAMS ((fibheap_t, fibnode_t));
 static void fibheap_consolidate PARAMS ((fibheap_t));
@@ -49,62 +48,29 @@ static int fibheap_compare PARAMS ((fibheap_t, fibnode_t, fibnode_t));
 static int fibheap_comp_data PARAMS ((fibheap_t, fibheapkey_t, void *,
                                      fibnode_t));
 static fibnode_t fibnode_new PARAMS ((void));
-static void fibnode_init PARAMS ((fibnode_t));
 static void fibnode_insert_after PARAMS ((fibnode_t, fibnode_t));
 #define fibnode_insert_before(a, b) fibnode_insert_after (a->left, b)
 static fibnode_t fibnode_remove PARAMS ((fibnode_t));
 
 \f
-/* Initialize the passed in fibonacci heap.  */
-static inline void
-fibheap_init (heap)
-     fibheap_t heap;
-{
-  heap->nodes = 0;
-  heap->min = NULL;
-  heap->root = NULL;
-}
-
 /* Create a new fibonacci heap.  */
 fibheap_t
 fibheap_new ()
 {
-  fibheap_t result;
-
-  if ((result = xmalloc (sizeof (*result))) == NULL)
-    return NULL;
-
-  fibheap_init (result);
-
-  return result;
-}
-
-/* Initialize the passed in fibonacci heap node.  */
-static inline void
-fibnode_init (node)
-     fibnode_t node;
-{
-  node->degree = 0;
-  node->mark = 0;
-  node->parent = NULL;
-  node->child = NULL;
-  node->left = node;
-  node->right = node;
-  node->data = NULL;
+  return (fibheap_t) xcalloc (1, sizeof (struct fibheap));
 }
 
 /* Create a new fibonacci heap node.  */
-static inline fibnode_t
+static fibnode_t
 fibnode_new ()
 {
-  fibnode_t e;
-
-  if ((e = xmalloc (sizeof *e)) == NULL)
-    return NULL;
+  fibnode_t node;
 
-  fibnode_init (e);
+  node = xcalloc (1, sizeof *node);
+  node->left = node;
+  node->right = node;
 
-  return e;
+  return node;
 }
 
 static inline int
@@ -144,9 +110,8 @@ fibheap_insert (heap, key, data)
 {
   fibnode_t node;
 
-  /* Create the new node, if we fail, return NULL.  */
-  if ((node = fibnode_new ()) == NULL)
-    return NULL;
+  /* Create the new node.  */
+  node = fibnode_new ();
 
   /* Set the node's data.  */
   node->data = data;