X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Flower%2Flower_switch.c;h=ed1f294f05ea3cbf6b134c06f0b741450f003c00;hb=3e889332cb054e5cee1a12bba6dd0209121100cf;hp=5c530072706687bc470c55ed081a49b90437f168;hpb=ba028376aed5b85830ce7271b9a8020f22af6f9c;p=libfirm diff --git a/ir/lower/lower_switch.c b/ir/lower/lower_switch.c index 5c5300727..ed1f294f0 100644 --- a/ir/lower/lower_switch.c +++ b/ir/lower/lower_switch.c @@ -98,8 +98,8 @@ static void analyse_switch(cond_env_t *env, ir_node *cond) static int casecmp(const void *a, const void *b) { - const case_data_t *cda = a; - const case_data_t *cdb = b; + const case_data_t *cda = (const case_data_t*)a; + const case_data_t *cdb = (const case_data_t*)b; /* * Enforce unsigned sorting. Signed comparison will behave differently for @@ -139,7 +139,7 @@ static void create_if_cascade(cond_env_t *env, dbg_info *dbgi, ir_node *block, if (numcases == 0) { /* zero cases: "goto default;" */ - ARR_APP1(ir_node*, env->defusers, new_Jmp()); + ARR_APP1(ir_node*, env->defusers, new_r_Jmp(block)); } else if (numcases == 1) { /* only one case: "if (sel == val) goto target else goto default;" */ ir_node *val = new_r_Const_long(irg, cmp_mode, curcases[0].value); @@ -299,7 +299,7 @@ static void create_out_of_bounds_check(cond_env_t *env, ir_node *cond) */ static void find_cond_nodes(ir_node *block, void *ctx) { - walk_env_t *env = ctx; + walk_env_t *env = (walk_env_t *)ctx; ir_node *projx; ir_node *cond; ir_node *sel;