From: Michael Beck Date: Mon, 25 Feb 2008 16:14:20 +0000 (+0000) Subject: BugFix: X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;h=6ab4332938647a7098231cd3eb836a80ae97ac4d;p=cparser BugFix: - ensure that elem_size has the right mode when doing pointer div Opt: - use new DivRL() [r18904] --- diff --git a/ast2firm.c b/ast2firm.c index c8cf896..c8b4e72 100644 --- a/ast2firm.c +++ b/ast2firm.c @@ -2097,10 +2097,11 @@ static ir_node *create_sub(const binary_expression_t *expression) ir_node *const elem_size = get_type_size(ptr_type->points_to); ir_mode *const mode = get_ir_mode(type); + ir_node *const conv_size = new_d_Conv(dbgi, elem_size, mode); ir_node *const sub = new_d_Sub(dbgi, left, right, mode); ir_node *const no_mem = new_NoMem(); - ir_node *const div = new_d_Div(dbgi, no_mem, sub, elem_size, mode, - op_pin_state_floats); + ir_node *const div = new_d_DivRL(dbgi, no_mem, sub, conv_size, mode, + op_pin_state_floats); return new_d_Proj(dbgi, div, mode, pn_Div_res); }