if (!tr_inh_trans_set) tr_inh_trans_set = new_set(tr_inh_trans_cmp, 128);
- found = (tr_inh_trans_tp*)set_find(tr_inh_trans_set, &a, sizeof(a), tr_inh_trans_hash(&a));
+ found = set_find(tr_inh_trans_tp, tr_inh_trans_set, &a, sizeof(a), tr_inh_trans_hash(&a));
if (!found) {
a.directions[d_up] = pset_new_ptr(16);
a.directions[d_down] = pset_new_ptr(16);
- found = (tr_inh_trans_tp*)set_insert(tr_inh_trans_set, &a, sizeof(a), tr_inh_trans_hash(&a));
+ found = set_insert(tr_inh_trans_tp, tr_inh_trans_set, &a, sizeof(a), tr_inh_trans_hash(&a));
}
return found;
}
void free_inh_transitive_closure(void)
{
if (tr_inh_trans_set) {
- tr_inh_trans_tp *elt;
- for (elt = (tr_inh_trans_tp*)set_first(tr_inh_trans_set); elt != NULL;
- elt = (tr_inh_trans_tp*)set_next(tr_inh_trans_set)) {
+ foreach_set(tr_inh_trans_set, tr_inh_trans_tp, elt) {
del_pset(elt->directions[d_up]);
del_pset(elt->directions[d_down]);
}
ir_type *get_class_trans_subtype_first(const ir_type *tp)
{
assert_valid_state();
- return (ir_type*)pset_first(get_type_map(tp, d_down));
+ return pset_first(ir_type, get_type_map(tp, d_down));
}
ir_type *get_class_trans_subtype_next(const ir_type *tp)
{
assert_valid_state();
- return (ir_type*)pset_next(get_type_map(tp, d_down));
+ return pset_next(ir_type, get_type_map(tp, d_down));
}
int is_class_trans_subtype(const ir_type *tp, const ir_type *subtp)
ir_type *get_class_trans_supertype_first(const ir_type *tp)
{
assert_valid_state();
- return (ir_type*)pset_first(get_type_map(tp, d_up));
+ return pset_first(ir_type, get_type_map(tp, d_up));
}
ir_type *get_class_trans_supertype_next(const ir_type *tp)
{
assert_valid_state();
- return (ir_type*)pset_next(get_type_map(tp, d_up));
+ return pset_next(ir_type, get_type_map(tp, d_up));
}
/* - overwrittenby ------------------------------------------------------- */
ir_entity *get_entity_trans_overwrittenby_first(const ir_entity *ent)
{
assert_valid_state();
- return (ir_entity*)pset_first(get_entity_map(ent, d_down));
+ return pset_first(ir_entity, get_entity_map(ent, d_down));
}
ir_entity *get_entity_trans_overwrittenby_next(const ir_entity *ent)
{
assert_valid_state();
- return (ir_entity*)pset_next(get_entity_map(ent, d_down));
+ return pset_next(ir_entity, get_entity_map(ent, d_down));
}
/* - overwrites ---------------------------------------------------------- */
ir_entity *get_entity_trans_overwrites_first(const ir_entity *ent)
{
assert_valid_state();
- return (ir_entity*)pset_first(get_entity_map(ent, d_up));
+ return pset_first(ir_entity, get_entity_map(ent, d_up));
}
ir_entity *get_entity_trans_overwrites_next(const ir_entity *ent)
{
assert_valid_state();
- return (ir_entity*)pset_next(get_entity_map(ent, d_up));
+ return pset_next(ir_entity, get_entity_map(ent, d_up));
}