From 1512fa491e9456365193801564985a5420aadb52 Mon Sep 17 00:00:00 2001 From: DJ Delorie Date: Thu, 10 Jun 2010 18:30:17 +0000 Subject: [PATCH] merge from gcc --- include/ChangeLog | 9 +++++++++ include/hashtab.h | 5 ++++- include/splay-tree.h | 15 +++++++++++++-- 3 files changed, 26 insertions(+), 3 deletions(-) diff --git a/include/ChangeLog b/include/ChangeLog index bfe4f3c6f..97e8da5dc 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,12 @@ +2010-06-08 Laurynas Biveinis + + * splay-tree.h: Update copyright years. + (splay_tree_s): Document fields. + (splay_tree_new_typed_alloc): New. + + * hashtab.h: Update copyright years. + (htab_create_typed_alloc): New. + 2010-06-10 Tristan Gingold * dwarf2.h (enum dwarf_tag): Add DW_TAG_HP_Bliss_field and diff --git a/include/hashtab.h b/include/hashtab.h index 1cd406daf..4bb65d6c7 100644 --- a/include/hashtab.h +++ b/include/hashtab.h @@ -1,5 +1,5 @@ /* An expandable hash tables datatype. - Copyright (C) 1999, 2000, 2002, 2003, 2004, 2005, 2009 + Copyright (C) 1999, 2000, 2002, 2003, 2004, 2005, 2009, 2010 Free Software Foundation, Inc. Contributed by Vladimir Makarov (vmakarov@cygnus.com). @@ -157,6 +157,9 @@ extern htab_t htab_create_alloc_ex (size_t, htab_hash, void *, htab_alloc_with_arg, htab_free_with_arg); +extern htab_t htab_create_typed_alloc (size_t, htab_hash, htab_eq, htab_del, + htab_alloc, htab_alloc, htab_free); + /* Backward-compatibility functions. */ extern htab_t htab_create (size_t, htab_hash, htab_eq, htab_del); extern htab_t htab_try_create (size_t, htab_hash, htab_eq, htab_del); diff --git a/include/splay-tree.h b/include/splay-tree.h index 57a96c4a3..480b2c43e 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,