merge from gcc

This commit is contained in:
DJ Delorie 2010-06-10 18:30:24 +00:00
parent f3a2388fc9
commit 219a461e6c
7 changed files with 183 additions and 39 deletions

View file

@ -1,5 +1,5 @@
/* A splay-tree datatype.
Copyright 1998, 1999, 2000, 2002, 2005, 2007, 2009
Copyright 1998, 1999, 2000, 2002, 2005, 2007, 2009, 2010
Free Software Foundation, Inc.
Contributed by Mark Mitchell (mark@markmitchell.com).
@ -119,9 +119,13 @@ struct GTY(()) splay_tree_s {
/* The deallocate-value function. NULL if no cleanup is necessary. */
splay_tree_delete_value_fn delete_value;
/* Allocate/free functions, and a data pointer to pass to them. */
/* Node allocate function. Takes allocate_data as a parameter. */
splay_tree_allocate_fn allocate;
/* Free function for nodes and trees. Takes allocate_data as a parameter. */
splay_tree_deallocate_fn deallocate;
/* Parameter for allocate/free functions. */
void * GTY((skip)) allocate_data;
};
@ -136,6 +140,13 @@ extern splay_tree splay_tree_new_with_allocator (splay_tree_compare_fn,
splay_tree_allocate_fn,
splay_tree_deallocate_fn,
void *);
extern splay_tree splay_tree_new_typed_alloc (splay_tree_compare_fn,
splay_tree_delete_key_fn,
splay_tree_delete_value_fn,
splay_tree_allocate_fn,
splay_tree_allocate_fn,
splay_tree_deallocate_fn,
void *);
extern void splay_tree_delete (splay_tree);
extern splay_tree_node splay_tree_insert (splay_tree,
splay_tree_key,