Iff it returns NULL, the hash table implementation will pass an error
code back to the user, so if your code doesn't handle errors,
best if you use xcalloc instead. */
-typedef PTR (*htab_alloc) (size_t, size_t);
+typedef void *(*htab_alloc) (size_t, size_t);
/* We also need a free() routine. */
-typedef void (*htab_free) (PTR);
+typedef void (*htab_free) (void *);
/* Memory allocation and deallocation; variants which take an extra
argument. */
-typedef PTR (*htab_alloc_with_arg) (void *, size_t, size_t);
+typedef void *(*htab_alloc_with_arg) (void *, size_t, size_t);
typedef void (*htab_free_with_arg) (void *, void *);
/* Hash tables are of the following type. The structure
htab_del del_f;
/* Table itself. */
- PTR * GTY ((use_param, length ("%h.size"))) entries;
+ void ** GTY ((use_param, length ("%h.size"))) entries;
/* Current size (in entries) of the hash table. */
size_t size;
htab_free free_f;
/* Alternate allocate/free functions, which take an extra argument. */
- PTR GTY((skip)) alloc_arg;
+ void * GTY((skip)) alloc_arg;
htab_alloc_with_arg alloc_with_arg_f;
htab_free_with_arg free_with_arg_f;
extern htab_t htab_create_alloc_ex (size_t, htab_hash,
htab_eq, htab_del,
- PTR, htab_alloc_with_arg,
+ void *, htab_alloc_with_arg,
htab_free_with_arg);
/* Backward-compatibility functions. */
extern void htab_set_functions_ex (htab_t, htab_hash,
htab_eq, htab_del,
- PTR, htab_alloc_with_arg,
+ void *, htab_alloc_with_arg,
htab_free_with_arg);
extern void htab_delete (htab_t);
extern void htab_empty (htab_t);
-extern PTR htab_find (htab_t, const void *);
-extern PTR *htab_find_slot (htab_t, const void *, enum insert_option);
-extern PTR htab_find_with_hash (htab_t, const void *, hashval_t);
-extern PTR *htab_find_slot_with_hash (htab_t, const void *,
- hashval_t,
- enum insert_option);
+extern void * htab_find (htab_t, const void *);
+extern void ** htab_find_slot (htab_t, const void *, enum insert_option);
+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 htab_eq htab_eq_pointer;
/* A hash function for null-terminated strings. */
-extern hashval_t htab_hash_string (const PTR);
+extern hashval_t htab_hash_string (const void *);
/* An iterative hash function for arbitrary data. */
-extern hashval_t iterative_hash (const PTR, size_t, hashval_t);
+extern hashval_t iterative_hash (const void *, size_t, hashval_t);
/* Shorthand for hashing something with an intrinsic size. */
#define iterative_hash_object(OB,INIT) iterative_hash (&OB, sizeof (OB), INIT)