diff options
author | DJ Delorie <dj@delorie.com> | 2010-06-10 18:30:17 +0000 |
---|---|---|
committer | DJ Delorie <dj@delorie.com> | 2010-06-10 18:30:17 +0000 |
commit | ab0207fed51428e55d142f7508c92a11394c7376 (patch) | |
tree | c745e9b4aeab0141bd0f0634f32fbaf739e1c64e /include/splay-tree.h | |
parent | 9e47615c1b7e80aaf4b8ca5b34588e8c226ddf0a (diff) | |
download | binutils-redhat-ab0207fed51428e55d142f7508c92a11394c7376.tar.gz |
merge from gcc
Diffstat (limited to 'include/splay-tree.h')
-rw-r--r-- | include/splay-tree.h | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/include/splay-tree.h b/include/splay-tree.h index 57a96c4a3d..480b2c43e7 100644 --- a/include/splay-tree.h +++ b/include/splay-tree.h @@ -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, |