diff --git a/ChangeLog b/ChangeLog index 032df99..e63cae3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Thu May 7 11:06:48 2009 Minero Aoki + + * net/loveruby/cflat/compiler/IRGenerator.java (BinaryOpNode): + evaluate RIGHT before LEFT. + Thu May 7 10:31:12 2009 Minero Aoki * net/loveruby/cflat/compiler/IRGenerator.java: fix compile error. diff --git a/net/loveruby/cflat/compiler/IRGenerator.java b/net/loveruby/cflat/compiler/IRGenerator.java index 68b7717..59c7a7c 100644 --- a/net/loveruby/cflat/compiler/IRGenerator.java +++ b/net/loveruby/cflat/compiler/IRGenerator.java @@ -567,8 +567,8 @@ class IRGenerator implements ASTVisitor { // #@@range/BinaryOp{ public Expr visit(BinaryOpNode node) { - Expr left = transformExpr(node.left()); Expr right = transformExpr(node.right()); + Expr left = transformExpr(node.left()); if (node.operator().equals("+") || node.operator().equals("-")) { if (node.left().type().isDereferable()) { right = new Bin(ptrDiffType(), Op.MUL,