From: edlinger Date: Mon, 28 May 2018 18:21:23 +0000 (+0000) Subject: include: 2018-05-28 Bernd Edlinger X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=22467434fdc240e7c166f77f371909a8a07fc358;p=binutils-gdb.git include: 2018-05-28 Bernd Edlinger include: * splay-tree.h (splay_tree_compare_strings, splay_tree_delete_pointers): Declare new utility functions. libiberty: 2018-05-28 Bernd Edlinger * splay-tree.c (splay_tree_compare_strings, splay_tree_delete_pointers): New utility functions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@260850 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/include/ChangeLog b/include/ChangeLog index 8b303bd47d4..5693a3e28e4 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,8 @@ +2018-05-28 Bernd Edlinger + + * splay-tree.h (splay_tree_compare_strings, + splay_tree_delete_pointers): Declare new utility functions. + 2018-05-21 Peter Bergner * opcode/ppc.h (PPC_OPERAND_FAKE): Delete macro. diff --git a/include/splay-tree.h b/include/splay-tree.h index b63612cc0a4..fc94fb786fb 100644 --- a/include/splay-tree.h +++ b/include/splay-tree.h @@ -147,7 +147,9 @@ extern splay_tree_node splay_tree_max (splay_tree); extern splay_tree_node splay_tree_min (splay_tree); extern int splay_tree_foreach (splay_tree, splay_tree_foreach_fn, void*); extern int splay_tree_compare_ints (splay_tree_key, splay_tree_key); -extern int splay_tree_compare_pointers (splay_tree_key, splay_tree_key); +extern int splay_tree_compare_pointers (splay_tree_key, splay_tree_key); +extern int splay_tree_compare_strings (splay_tree_key, splay_tree_key); +extern void splay_tree_delete_pointers (splay_tree_value); #ifdef __cplusplus } diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index b249226155c..19c62699c07 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -1,3 +1,8 @@ +2018-05-28 Bernd Edlinger + + * splay-tree.c (splay_tree_compare_strings, + splay_tree_delete_pointers): New utility functions. + 2018-05-10 Martin Liska PR bootstrap/64914 diff --git a/libiberty/splay-tree.c b/libiberty/splay-tree.c index 23d22a89d8e..d3be4aa90b5 100644 --- a/libiberty/splay-tree.c +++ b/libiberty/splay-tree.c @@ -31,6 +31,9 @@ Boston, MA 02110-1301, USA. */ #ifdef HAVE_STDLIB_H #include #endif +#ifdef HAVE_STRING_H +#include +#endif #include @@ -590,3 +593,19 @@ splay_tree_compare_pointers (splay_tree_key k1, splay_tree_key k2) else return 0; } + +/* Splay-tree comparison function, treating the keys as strings. */ + +int +splay_tree_compare_strings (splay_tree_key k1, splay_tree_key k2) +{ + return strcmp ((char *) k1, (char *) k2); +} + +/* Splay-tree delete function, simply using free. */ + +void +splay_tree_delete_pointers (splay_tree_value value) +{ + free ((void *) value); +}