#define ConstKeyType const ir_node*
#define GetKey(value) (value).node
#define InitData(self,value,key) do { (value).node = (key); (value).list.next = NULL; (value).list.prev = NULL; } while(0)
-#ifdef DEBUG_libfirm
#define Hash(self,key) ((unsigned)((key)->node_nr))
-#else
-#define Hash(self,key) HASH_PTR(key)
-#endif
#define KeysEqual(self,key1,key2) (key1) == (key2)
#define SetRangeEmpty(ptr,size) memset(ptr, 0, (size) * sizeof((ptr)[0]))
#define EntrySetEmpty(value) (value).node = NULL
* Resize the hashset
* @internal
*/
-static INLINE
+static
void resize(HashSet *self, size_t new_size)
{
- size_t num_buckets = self->num_buckets;
HashSetEntry *old_entries = self->entries;
HashSetEntry *new_entries;
list_head list = self->elem_list;
*/
void ir_lnk_nodemap_remove_iterator(ir_lnk_nodemap_t *nodemap,
ir_lnk_nodemap_iterator_t *iterator) {
- ir_lnk_nodemap_entry_t *rem = list_entry(iterator->iter, ir_lnk_nodemap_entry_t, list);
-
- iterator->iter = rem->list.prev;
+ ir_lnk_nodemap_entry_t *rem = list_entry(iterator->iter->prev, ir_lnk_nodemap_entry_t, list);
ir_lnk_nodemap_remove(nodemap, rem->node);
}