X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Flower%2Flower_calls.c;h=bfbc6960aec9cf6b1d4f4feccd6f4e0e7b22496f;hb=2e291eab8268af551488b1f4fb4d9ca61b625e33;hp=02b572af0d7045264c09e5980ecd773c9a3eee9b;hpb=d92924bed940168943eb583d24fbb3e0e5bf6e16;p=libfirm diff --git a/ir/lower/lower_calls.c b/ir/lower/lower_calls.c index 02b572af0..bfbc6960a 100644 --- a/ir/lower/lower_calls.c +++ b/ir/lower/lower_calls.c @@ -36,11 +36,12 @@ #include "ircons.h" #include "irgmod.h" #include "irgwalk.h" +#include "irmemory.h" #include "irtools.h" #include "iroptimize.h" -#include "array.h" +#include "array_t.h" #include "pmap.h" -#include "xmalloc.h" +#include "error.h" /** A type map for def_find_pointer_type. */ static pmap *type_map; @@ -123,7 +124,7 @@ static ir_type *create_modified_mtd_type(const lower_params_t *lp, ir_type *mtp) if (n_regs > 0) { /* this compound will be returned solely in registers */ - assert(0); + panic("Returning compounds in registers not yet implemented"); } else { /* this compound will be allocated on callers stack and its @@ -807,14 +808,14 @@ static int must_be_lowered(const lower_params_t *lp, ir_type *tp) { * type-walker: lower all method types of entities * and points-to types. */ -static void lower_method_types(type_or_ent *tore, void *env) +static void lower_method_types(type_or_ent tore, void *env) { const lower_params_t *lp = env; ir_type *tp; /* fix method entities */ - if (is_entity(tore)) { - ir_entity *ent = (ir_entity *)tore; + if (is_entity(tore.ent)) { + ir_entity *ent = tore.ent; tp = get_entity_type(ent); if (must_be_lowered(lp, tp)) { @@ -822,7 +823,7 @@ static void lower_method_types(type_or_ent *tore, void *env) set_entity_type(ent, tp); } } else { - tp = (ir_type *)tore; + tp = tore.typ; /* fix pointer to methods */ if (is_Pointer_type(tp)) {