X-Git-Url: http://drtracing.org/?a=blobdiff_plain;ds=sidebyside;f=include%2Fhashtab.h;h=6cca342b98973320086b58734aac922b1eeab617;hb=1ee1a363454d88a87ad2ade7530b2a7fb670021e;hp=1cd406daf31148c720e9ed118559508e6a165d47;hpb=8139c7d47b85cc8f328b154b74240858a494f8b4;p=deliverable%2Fbinutils-gdb.git diff --git a/include/hashtab.h b/include/hashtab.h index 1cd406daf3..6cca342b98 100644 --- a/include/hashtab.h +++ b/include/hashtab.h @@ -1,6 +1,5 @@ /* An expandable hash tables datatype. - Copyright (C) 1999, 2000, 2002, 2003, 2004, 2005, 2009 - Free Software Foundation, Inc. + Copyright (C) 1999-2020 Free Software Foundation, Inc. Contributed by Vladimir Makarov (vmakarov@cygnus.com). This program is free software; you can redistribute it and/or modify @@ -39,10 +38,6 @@ extern "C" { #include "ansidecl.h" -#ifndef GTY -#define GTY(X) -#endif - /* The type for a hash code. */ typedef unsigned int hashval_t; @@ -97,7 +92,7 @@ typedef void (*htab_free_with_arg) (void *, void *); functions mentioned below. The size of this structure is subject to change. */ -struct GTY(()) htab { +struct htab { /* Pointer to hash function. */ htab_hash hash_f; @@ -108,7 +103,7 @@ struct GTY(()) htab { htab_del del_f; /* Table itself. */ - void ** GTY ((use_param, length ("%h.size"))) entries; + void **entries; /* Current size (in entries) of the hash table. */ size_t size; @@ -132,7 +127,7 @@ struct GTY(()) htab { htab_free free_f; /* Alternate allocate/free functions, which take an extra argument. */ - void * GTY((skip)) alloc_arg; + void *alloc_arg; htab_alloc_with_arg alloc_with_arg_f; htab_free_with_arg free_with_arg_f; @@ -157,6 +152,9 @@ extern htab_t htab_create_alloc_ex (size_t, htab_hash, void *, htab_alloc_with_arg, htab_free_with_arg); +extern htab_t htab_create_typed_alloc (size_t, htab_hash, htab_eq, htab_del, + htab_alloc, htab_alloc, htab_free); + /* Backward-compatibility functions. */ extern htab_t htab_create (size_t, htab_hash, htab_eq, htab_del); extern htab_t htab_try_create (size_t, htab_hash, htab_eq, htab_del); @@ -175,8 +173,8 @@ extern void * htab_find_with_hash (htab_t, const void *, hashval_t); extern void ** htab_find_slot_with_hash (htab_t, const void *, hashval_t, enum insert_option); extern void htab_clear_slot (htab_t, void **); -extern void htab_remove_elt (htab_t, void *); -extern void htab_remove_elt_with_hash (htab_t, void *, hashval_t); +extern void htab_remove_elt (htab_t, const void *); +extern void htab_remove_elt_with_hash (htab_t, const void *, hashval_t); extern void htab_traverse (htab_t, htab_trav, void *); extern void htab_traverse_noresize (htab_t, htab_trav, void *);