summaryrefslogtreecommitdiffstats
path: root/include/hashtab.h
diff options
context:
space:
mode:
authorcvs2svn <>2004-07-09 18:42:15 +0000
committercvs2svn <>2004-07-09 18:42:15 +0000
commitdc7425d645c73447937870b89138b40d2dfd2879 (patch)
tree53cd2ddf6fe790a55bf456828c09da3673bc19bb /include/hashtab.h
parentf3a88e3bd25802e6acc3fb5d716ad12b4e67f494 (diff)
downloadcygnal-dc7425d645c73447937870b89138b40d2dfd2879.tar.gz
cygnal-dc7425d645c73447937870b89138b40d2dfd2879.tar.bz2
cygnal-dc7425d645c73447937870b89138b40d2dfd2879.zip
This commit was manufactured by cvs2svn to create branch 'gdb_6_2-branch'.jimb-gdb_6_2-e500-branchpointgdb_6_2-20040730-releasegdb_6_2-2004-07-10-gmt-branchpoint
Sprout from ezannoni_pie-20040323-branch 2004-03-23 23:05:53 UTC cvs2svn 'This commit was manufactured by cvs2svn to create branch' Cherrypick from master 2004-07-09 18:42:14 UTC Andreas Schwab <schwab@linux-m68k.org> 'binutils/testsuite/:': ChangeLog MAINTAINERS Makefile.def Makefile.in Makefile.tpl config-ml.in config.sub config/ChangeLog config/acx.m4 configure configure.in include/ChangeLog include/bfdlink.h include/coff/ChangeLog include/coff/ecoff.h include/coff/internal.h include/coff/mips.h include/demangle.h include/dis-asm.h include/elf/ChangeLog include/elf/common.h include/elf/cr16c.h include/elf/crx.h include/elf/m32r.h include/elf/mips.h include/elf/sh.h include/gdb/ChangeLog include/gdb/callback.h include/hashtab.h include/opcode/ChangeLog include/opcode/crx.h include/opcode/i386.h include/opcode/m68k.h include/splay-tree.h src-release Delete: include/mpw/ChangeLog include/mpw/README include/mpw/dir.h include/mpw/dirent.h include/mpw/fcntl.h include/mpw/grp.h include/mpw/mpw.h include/mpw/pwd.h include/mpw/spin.h include/mpw/stat.h include/mpw/sys/file.h include/mpw/sys/param.h include/mpw/sys/resource.h include/mpw/sys/stat.h include/mpw/sys/time.h include/mpw/sys/types.h include/mpw/utime.h include/mpw/varargs.h mpw-README mpw-build.in mpw-config.in mpw-configure mpw-install
Diffstat (limited to 'include/hashtab.h')
-rw-r--r--include/hashtab.h17
1 files changed, 11 insertions, 6 deletions
diff --git a/include/hashtab.h b/include/hashtab.h
index f7bd4ae69..de24dedb9 100644
--- a/include/hashtab.h
+++ b/include/hashtab.h
@@ -1,5 +1,5 @@
/* An expandable hash tables datatype.
- Copyright (C) 1999, 2000, 2002, 2003 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2000, 2002, 2003, 2004 Free Software Foundation, Inc.
Contributed by Vladimir Makarov (vmakarov@cygnus.com).
This program is free software; you can redistribute it and/or modify
@@ -99,15 +99,15 @@ struct htab GTY(())
htab_del del_f;
/* Table itself. */
- PTR * GTY ((use_param (""), length ("%h.size"))) entries;
+ PTR * GTY ((use_param, length ("%h.size"))) entries;
- /* Current size (in entries) of the hash table */
+ /* Current size (in entries) of the hash table. */
size_t size;
- /* Current number of elements including also deleted elements */
+ /* Current number of elements including also deleted elements. */
size_t n_elements;
- /* Current number of deleted elements in the table */
+ /* Current number of deleted elements in the table. */
size_t n_deleted;
/* The following member is used for debugging. Its value is number
@@ -123,9 +123,13 @@ struct htab GTY(())
htab_free free_f;
/* Alternate allocate/free functions, which take an extra argument. */
- PTR GTY((skip (""))) alloc_arg;
+ PTR GTY((skip)) alloc_arg;
htab_alloc_with_arg alloc_with_arg_f;
htab_free_with_arg free_with_arg_f;
+
+ /* Current size (in entries) of the hash table, as an index into the
+ table of primes. */
+ unsigned int size_prime_index;
};
typedef struct htab *htab_t;
@@ -166,6 +170,7 @@ extern PTR *htab_find_slot_with_hash PARAMS ((htab_t, const void *,
enum insert_option));
extern void htab_clear_slot PARAMS ((htab_t, void **));
extern void htab_remove_elt PARAMS ((htab_t, void *));
+extern void htab_remove_elt_with_hash PARAMS ((htab_t, void *, hashval_t));
extern void htab_traverse PARAMS ((htab_t, htab_trav, void *));
extern void htab_traverse_noresize PARAMS ((htab_t, htab_trav, void *));