* @brief Stabs support.
* @author Michael Beck
* @date 11.9.2006
- * @version $Id$
*/
#include "config.h"
*/
static unsigned get_type_number(stabs_handle *h, ir_type *tp)
{
- pmap_entry *entry;
+ void *entry;
unsigned num;
if (tp == NULL) {
/* map to the void type */
return 0;
}
- entry = pmap_find(h->type_map, tp);
- if (! entry) {
+ entry = pmap_get(h->type_map, tp);
+ if (entry == NULL) {
num = h->next_type_nr++;
- pmap_insert(h->type_map, tp, INT_TO_PTR(num));
+ pmap_insert(h->type_map, tp, INT_TO_PTR(num+1));
} else {
- num = (unsigned)PTR_TO_INT(entry->value);
+ num = ((unsigned)PTR_TO_INT(entry))-1;
}
return num;
}
*/
static void map_to_void(stabs_handle *h, ir_type *tp)
{
- pmap_insert(h->type_map, tp, INT_TO_PTR(0));
+ pmap_insert(h->type_map, tp, INT_TO_PTR(1));
}
/**
tp = tore.typ;
/* ignore the unknown type */
- if (tp == firm_unknown_type)
+ if (is_unknown_type(tp))
return;
} else {
return;
case tpo_class:
if (tp == get_glob_type()) {
SET_TYPE_READY(tp);
- break;
+ return;
}
/* fall through */
case tpo_struct:
case tpo_union:
gen_struct_union_type(env, tp);
- break;
+ return;
case tpo_enumeration:
gen_enum_type(env->h, tp);
- break;
+ return;
case tpo_primitive:
gen_primitive_type(env->h, tp);
- break;
+ return;
case tpo_method:
gen_method_type(env, tp);
- break;
+ return;
case tpo_array:
gen_array_type(env, tp);
- break;
+ return;
case tpo_pointer:
gen_pointer_type(env, tp);
- break;
+ return;
+ case tpo_code:
+ case tpo_none:
case tpo_unknown:
+ case tpo_uninitialized:
/* the unknown type: ignore */
SET_TYPE_READY(tp);
- break;
- default:
- assert(! "Unknown tpop code");
+ return;
}
+ panic("Unknown tpop code");
}
/**