Commit Graph

22 Commits

Author SHA1 Message Date
Richard Henderson 228c46dbd8 * hashtab.h (struct htab): Add size_prime_index.
From-SVN: r81030
2004-04-22 10:36:03 -07:00
Jeff Law 7f96816adb hashtab.c (htab_remove_elt_with_hash): New function.
* hashtab.c (htab_remove_elt_with_hash): New function.
	(htab_remove_elt): Implement in terms of htab_remove_elt_with_hash.

	* hashtab.h (htab_remove_elt_with_hash): Prototype new function.

From-SVN: r80641
2004-04-13 08:48:56 -06:00
Zack Weinberg cfdfa11075 * hashtab.h, splay-tree.h: Use new shorter form of GTY markers.
From-SVN: r80092
2004-03-30 19:23:16 +00:00
Jason Merrill 9d70d418db s/burtle/iterative
From-SVN: r66577
2003-05-07 16:30:32 -04:00
Jason Merrill 5cc5a0d00d hashtab.c (burtle_hash): New fn.
libiberty/
        * hashtab.c (burtle_hash): New fn.
        * configure.in: Add AC_C_BIGENDIAN_CROSS.
        * aclocal.m4: Include accross.m4.
        * configure, config.in: Regenerate.
include/
        * hashtab.h (burtle_hash): Prototype.
        (burtle_hash_object): New macro.

From-SVN: r66565
2003-05-07 14:07:58 -04:00
Jan Hubicka dbccdc4211 ggc-common.c (ggc_mark_roots): Use htab_traverse_noresize.
* ggc-common.c (ggc_mark_roots): Use htab_traverse_noresize.

	* hashtab.h (htab_traverse_noresize): Declare.

	* hashtab.c (htab_traverse_noresize): Break out from ...
	* hashtab.c (htab_traverse): ... here.

From-SVN: r64496
2003-03-17 17:59:58 +00:00
Daniel Jacobowitz 74828682c7 hashtab.h (htab_alloc_with_arg, [...]): Add new types.
include/
	* hashtab.h (htab_alloc_with_arg, htab_free_with_arg): Add new types.
	(struct htab): Add alloc_arg, alloc_with_arg_f, free_with_arg_f.
	(htab_create_alloc_ex): New prototype.
	(htab_set_functions_ex): New prototype.

libiberty/
	* hashtab.c (htab_create_alloc_ex): New function.
	(hatab_set_functions_ex): New function.
	(htab_delete, htab_expand): Support alternate allocation functions.

From-SVN: r61820
2003-01-26 07:09:41 +00:00
Alan Modra 8ff82b06d6 demangle.h: #include "ansidecl.h" rather than #include <ansidecl.h>.
* demangle.h: #include "ansidecl.h" rather than #include <ansidecl.h>.
	* fibheap.h: Likewise.
	* hashtab.h: Likewise.
	* partition.h: Likewise.
	* sort.h: Likewise.
	* splay-tree.h: Likewise.

From-SVN: r54974
2002-06-25 09:44:15 +09:30
DJ Delorie 917ccc05a6 hashtab.h (htab): Rearrange new members for backward compatibility.
* hashtab.h (htab): Rearrange new members for backward
compatibility.
(htab_create): Don't use a macro that requires other headers.

From-SVN: r54316
2002-06-06 08:42:06 -04:00
Geoffrey Keating 045b3a49ca Index: include/ChangeLog
Index: include/ChangeLog
	* hashtab.h (htab_create): Restore prototype for backward
	compatibility.
	(htab_try_create): Likewise.

Index: libiberty/ChangeLog
	* hashtab.c (htab_create): New stub function for backward
	compatibility.
	(htab_try_create): Likewise.

From-SVN: r54300
2002-06-06 03:23:27 +00:00
Geoffrey Keating e2500fedef Merge from pch-branch up to tag pch-commit-20020603.
From-SVN: r54232
2002-06-04 07:11:05 +00:00
Richard Henderson 457f49df10 * hashtab.h (htab_hash_string): Declare.
From-SVN: r44949
2001-08-16 18:54:01 -07:00
Hans-Peter Nilsson 5dd0f480ae hashtab.h (struct htab): Add member return_allocation_failure.
* hashtab.h (struct htab): Add member return_allocation_failure.
	(htab_try_create): New prototype.  Mention which functions may
	return NULL when this is used.

From-SVN: r37246
2000-11-04 07:35:33 +00:00
Hans-Peter Nilsson 5aa2300021 * hashtab.h: Change void * to PTR where necessary.
From-SVN: r37230
2000-11-03 20:23:00 +00:00
Mark Mitchell 18a94a2f75 hashtab.h (hash_pointer): Declare.
* hashtab.h (hash_pointer): Declare.
	(eq_pointer): Likewise.

	* hashtab.c (hash_pointer): New function.
	(eq_pointer): Likewise.
	(htab_hash_pointer): New variable.
	(htab_eq_pointer): Likewise.

From-SVN: r33372
2000-04-24 07:29:11 +00:00
Richard Kenner e38992e8d3 conflict.c (conflict_graph_add): Pass enum type to htab_find_slot.
* gcc/conflict.c (conflict_graph_add): Pass enum type to
	htab_find_slot.
	* gcc/cpperror.c (hashtab.h): Now include.
	* gcc/cppexp.c (hashtab.h): Likewise.
	* gcc/cpplex.c (hashtab.h): Likewise.
	* gcc/cppfiles.c (hashtab.h): Likewise.
	(find_include_file, _cpp_calc_hash, cpp_read_file): Pass enum type
	to htab_find_slot_with_hash.
	* gcc/cpphash.c (hashtab.h): Now include.
	(_cpp_lookup_slot): INSERT is now enum insert_option.
	* gcc/cpphash.h (_cpp_lookup_slot): Likewise.
	* gcc/cppinit.c (hashtab.h): Include earlier.
	(initialize_builtins): Pass enum to htab_find_slot.
	* gcc/cpplib.c (hashtab.h): Now include.
	(do_define, do_undef): Pass enum type to _cpp_lookup_slot.
	(do_pragma_poison, do_assert): Likewise.
	* gcc/emit-rtl.c (gen_rtx_CONST_INT): Pass enum to
	htab_find_slot_with_hash.
	* gcc/simplify-rtx.c (cselib_lookup_mem, cselib_lookup): Likewise.
	* gcc/tree.c (type_hash_add): Likewise.
	(build1): Minor cleanup.
	* include/hashtab.h (enum insert_option): New type.
	(htab_find_slot, htab_find_slot_with_hash): Use it.
	* libiberty/hashtab.c: Various minor cleanups.
	(htab_find_slot_with_hash): INSERT is now enum insert_option.
	(htab_find_slot): Likewise.

From-SVN: r33236
2000-04-18 16:42:00 -04:00
Mark Mitchell b13eb66b7d hashtab.h (hashval_t): New type.
* 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.

From-SVN: r32842
2000-03-31 07:04:37 +00:00
Bernd Schmidt 8c5d513f17 Some cleanups/additions for hashtables
From-SVN: r32536
2000-03-14 18:28:45 +00:00
Zack Weinberg 5dc9cffdfd hashtab.h (struct htab): Add del_f.
* hashtab.h (struct htab): Add del_f.
	(htab_del): New type.
	(htab_create): Add fourth argument.

	* hashtab.c (htab_create): Set del_f.
	(htab_delete, htab_empty, htab_remove_elt, htab_clear_slot):
	Use it.

From-SVN: r32459
2000-03-10 00:00:24 +00:00
Zack Weinberg 5194cf0890 hashtab.c: Remove debugging variables (all_searches, all_collisions, all_expansions).
* hashtab.c: Remove debugging variables (all_searches,
	all_collisions, all_expansions). Delete
	all_hash_table_collisions.
	(create_hash_table, delete_hash_table, empty_hash_table,
	find_hash_table_entry, remove_element_from_hash_table_entry,
	clear_hash_table_slot, traverse_hash_table, hash_table_size,
	hash_table_elements_number, hash_table_collisions): Rename to:
	htab_create, htab_delete, htab_empty, htab_find_slot,
	htab_remove_elt, htab_clear_slot, htab_traverse, htab_size,
	htab_elements, htab_collisions.
	(htab_find): New function, handles common case where you don't
	plan to add or delete an entry.
	(htab_expand): Don't create a whole new table, just a new
	entry vector.
	(htab_find_slot): Simplify logic.

	* hashtab.h (hash_table_t): Rename to htab_t.
	(struct hash_table): Rename to struct htab.  Shorten element
	names.  Reorder elements by size.
	(htab_hash, htab_eq, htab_trav): New typedefs for the callback
	function pointers.
	(hash_table_entry_t): Discard; just use void * for element
	type.

From-SVN: r32437
2000-03-08 23:44:29 +00:00
Zack Weinberg ed38f5d5d8 hashtab.c (find_hash_table_entry): When returning a DELETED_ENTRY slot, change it to EMPTY_ENTRY first.
1999-10-23 08:51 -0700  Zack Weinberg  <zack@bitmover.com>

	* hashtab.c (find_hash_table_entry): When returning a
	DELETED_ENTRY slot, change it to EMPTY_ENTRY first.
	(clear_hash_table_slot): New function which deletes an entry
	by its position in the table, not its value.
	(traverse_hash_table): New function which calls a hook
	function for every live entry in the table.

	* hashtab.h: Give hash_table_t a struct tag.  Add prototypes
	for clear_hash_table_slot and traverse_hash_table.  Correct
	prototype of all_hash_table_collisions.

From-SVN: r30138
1999-10-23 15:56:52 +00:00
Vladimir Makarov a6ee63bb34 * hashtab.h: New file.
From-SVN: r30013
1999-10-15 01:50:54 -06:00