summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>2000-03-31 07:04:37 +0000
committermmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>2000-03-31 07:04:37 +0000
commit7669680f0721813c5df2d2857dfbd197b3bf1902 (patch)
tree0bbfb81bb3327866160b992f8c9fb040addd6364
parentfafa45d08187c1f6a175d24762ae80b6ceeab89a (diff)
downloadgcc-7669680f0721813c5df2d2857dfbd197b3bf1902.tar.gz
* hashtab.h (hashval_t): New type.
(htab_find_with_hash): Use it as an argument. (htab_find_slot_with_hash): Likewise. * hashtab.c (find_empty_slot_for_expand): Use hashval_t for hash codes. (htab_find_with_hash): Likewise. (htab_find_slot_with_hash): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32842 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--include/ChangeLog6
-rw-r--r--include/hashtab.h11
-rw-r--r--libiberty/ChangeLog7
-rw-r--r--libiberty/hashtab.c16
4 files changed, 29 insertions, 11 deletions
diff --git a/include/ChangeLog b/include/ChangeLog
index e36ba7070a3..dd2d6673475 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,9 @@
+2000-03-30 Mark Mitchell <mark@codesourcery.com>
+
+ * hashtab.h (hashval_t): New type.
+ (htab_find_with_hash): Use it as an argument.
+ (htab_find_slot_with_hash): Likewise.
+
2000-03-14 Bernd Schmidt <bernds@cygnus.co.uk>
* hashtab.h (htab_trav): Modify type so that first arg is of type
diff --git a/include/hashtab.h b/include/hashtab.h
index 5fe239391ff..2426708e378 100644
--- a/include/hashtab.h
+++ b/include/hashtab.h
@@ -1,5 +1,5 @@
/* An expandable hash tables datatype.
- Copyright (C) 1999 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2000 Free Software Foundation, Inc.
Contributed by Vladimir Makarov (vmakarov@cygnus.com).
This program is free software; you can redistribute it and/or modify
@@ -38,10 +38,13 @@ extern "C" {
#include <ansidecl.h>
+/* The type for a hash code. */
+typedef unsigned int hashval_t;
+
/* Callback function pointer types. */
/* Calculate hash of a table entry. */
-typedef unsigned int (*htab_hash) PARAMS ((const void *));
+typedef hashval_t (*htab_hash) PARAMS ((const void *));
/* Compare a table entry with a possible entry. The entry already in
the table always comes first, so the second element can be of a
@@ -109,9 +112,9 @@ extern void htab_empty PARAMS ((htab_t));
extern void *htab_find PARAMS ((htab_t, const void *));
extern void **htab_find_slot PARAMS ((htab_t, const void *, int));
extern void *htab_find_with_hash PARAMS ((htab_t, const void *,
- unsigned int));
+ hashval_t));
extern void **htab_find_slot_with_hash PARAMS ((htab_t, const void *,
- unsigned int, int));
+ hashval_t, int));
extern void htab_clear_slot PARAMS ((htab_t, void **));
extern void htab_remove_elt PARAMS ((htab_t, void *));
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog
index 42231a35b8f..e51cea6d2c8 100644
--- a/libiberty/ChangeLog
+++ b/libiberty/ChangeLog
@@ -1,3 +1,10 @@
+2000-03-30 Mark Mitchell <mark@codesourcery.com>
+
+ * hashtab.c (find_empty_slot_for_expand): Use hashval_t for hash
+ codes.
+ (htab_find_with_hash): Likewise.
+ (htab_find_slot_with_hash): Likewise.
+
2000-03-29 Zack Weinberg <zack@wolery.cumb.org>
* hashtab.c (htab_find_with_hash): Avoid calculating hash2
diff --git a/libiberty/hashtab.c b/libiberty/hashtab.c
index 027f75d12ac..ba897b2b03d 100644
--- a/libiberty/hashtab.c
+++ b/libiberty/hashtab.c
@@ -1,5 +1,5 @@
/* An expandable hash tables datatype.
- Copyright (C) 1999 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2000 Free Software Foundation, Inc.
Contributed by Vladimir Makarov (vmakarov@cygnus.com).
This file is part of the libiberty library.
@@ -155,10 +155,10 @@ htab_empty (htab)
static void **
find_empty_slot_for_expand (htab, hash)
htab_t htab;
- unsigned int hash;
+ hashval_t hash;
{
size_t size = htab->size;
- unsigned int hash2 = 1 + hash % (size - 2);
+ hashval_t hash2 = 1 + hash % (size - 2);
unsigned int index = hash % size;
for (;;)
@@ -221,9 +221,10 @@ void *
htab_find_with_hash (htab, element, hash)
htab_t htab;
const void *element;
- unsigned int hash;
+ hashval_t hash;
{
- unsigned int index, hash2;
+ unsigned int index;
+ hashval_t hash2;
size_t size;
void *entry;
@@ -272,11 +273,12 @@ void **
htab_find_slot_with_hash (htab, element, hash, insert)
htab_t htab;
const void *element;
- unsigned int hash;
+ hashval_t hash;
int insert;
{
void **first_deleted_slot;
- unsigned int index, hash2;
+ unsigned int index;
+ hashval_t hash2;
size_t size;
if (insert && htab->size * 3 <= htab->n_elements * 4)