aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoredlinger <edlinger@138bc75d-0d04-0410-961f-82ee72b054a4>2018-05-28 18:21:23 +0000
committerRichard Earnshaw <Richard.Earnshaw@arm.com>2018-05-31 10:17:13 +0100
commit22467434fdc240e7c166f77f371909a8a07fc358 (patch)
treef80a7a1500f03cb5fdec584f1fcaaf17d0fe57b8
parent5b372a4d35bd5874c1a6db2b89f42c7ed3097c63 (diff)
downloadgdb-22467434fdc240e7c166f77f371909a8a07fc358.zip
gdb-22467434fdc240e7c166f77f371909a8a07fc358.tar.gz
gdb-22467434fdc240e7c166f77f371909a8a07fc358.tar.bz2
include: 2018-05-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
include: * splay-tree.h (splay_tree_compare_strings, splay_tree_delete_pointers): Declare new utility functions. libiberty: 2018-05-28 Bernd Edlinger <bernd.edlinger@hotmail.de> * 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
-rw-r--r--include/ChangeLog5
-rw-r--r--include/splay-tree.h4
-rw-r--r--libiberty/ChangeLog5
-rw-r--r--libiberty/splay-tree.c19
4 files changed, 32 insertions, 1 deletions
diff --git a/include/ChangeLog b/include/ChangeLog
index 8b303bd..5693a3e 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,8 @@
+2018-05-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ * splay-tree.h (splay_tree_compare_strings,
+ splay_tree_delete_pointers): Declare new utility functions.
+
2018-05-21 Peter Bergner <bergner@vnet.ibm.com.com>
* opcode/ppc.h (PPC_OPERAND_FAKE): Delete macro.
diff --git a/include/splay-tree.h b/include/splay-tree.h
index b63612c..fc94fb7 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 b249226..19c6269 100644
--- a/libiberty/ChangeLog
+++ b/libiberty/ChangeLog
@@ -1,3 +1,8 @@
+2018-05-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ * splay-tree.c (splay_tree_compare_strings,
+ splay_tree_delete_pointers): New utility functions.
+
2018-05-10 Martin Liska <mliska@suse.cz>
PR bootstrap/64914
diff --git a/libiberty/splay-tree.c b/libiberty/splay-tree.c
index 23d22a8..d3be4aa 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 <stdlib.h>
#endif
+#ifdef HAVE_STRING_H
+#include <string.h>
+#endif
#include <stdio.h>
@@ -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);
+}