From: DJ Delorie Date: Wed, 22 Aug 2001 22:55:38 +0000 (+0000) Subject: merge from gcc X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f080c76dc086297db32aba180d646e8c6fe17f0a;p=binutils-gdb.git merge from gcc --- diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index 45b26812cdf..9978675597c 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -1,3 +1,10 @@ +2001-08-22 Matt Kraai + + * 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 * Makefile.in (fibheap.o): Depend on config.h. diff --git a/libiberty/fibheap.c b/libiberty/fibheap.c index 7431e11a6c4..0ba9b8d6b0a 100644 --- a/libiberty/fibheap.c +++ b/libiberty/fibheap.c @@ -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)); -/* 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;