From: Matthias Braun Date: Tue, 9 Sep 2008 16:09:00 +0000 (+0000) Subject: build right side of += etc. before left side X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;h=30dffe2b679cbe35fb8da77634792cb114f8b7a5;p=cparser build right side of += etc. before left side [r21789] --- diff --git a/ast2firm.c b/ast2firm.c index 035b793..25e1aa7 100644 --- a/ast2firm.c +++ b/ast2firm.c @@ -2311,9 +2311,9 @@ static ir_node *create_assign_binop(const binary_expression_t *expression) dbg_info *const dbgi = get_dbg_info(&expression->base.source_position); const expression_t *left_expr = expression->left; ir_mode *left_mode = get_ir_mode(left_expr->base.type); + ir_node *right = expression_to_firm(expression->right); ir_node *left_addr = expression_to_addr(left_expr); ir_node *left = get_value_from_lvalue(left_expr, left_addr); - ir_node *right = expression_to_firm(expression->right); ir_node *result = create_op(dbgi, expression, left, right); result = create_conv(dbgi, result, left_mode);