diff --git a/src/bin/jbc2mpl b/src/bin/jbc2mpl index 836a8e20f61807b83e641cf01e9b83eb2a6b7da0..039690e44ac6e9a787991e074d418a38f7495981 100755 Binary files a/src/bin/jbc2mpl and b/src/bin/jbc2mpl differ diff --git a/src/bin/maple b/src/bin/maple index 9738820d68b7627dd797530c339b76d8e4d6c732..7c898390a179cfe5305a67ba647481700e5131e0 100755 Binary files a/src/bin/maple and b/src/bin/maple differ diff --git a/src/mpl2mpl/src/constantfold.cpp b/src/mpl2mpl/src/constantfold.cpp index a0972b80627f14d12429e74f5178784ef5f0b20a..2ebbb011ece81a11e160f213846f1cc67d42fce3 100644 --- a/src/mpl2mpl/src/constantfold.cpp +++ b/src/mpl2mpl/src/constantfold.cpp @@ -1370,11 +1370,10 @@ std::pair ConstantFold::FoldBinary(BinaryNode *node) { } else if (op == OP_sub) { sum = cst - rp.second; result = NegateTree(r); - } else if ((op == OP_mul || op == OP_rem || op == OP_ashr || op == OP_lshr || op == OP_shl || + } else if ((op == OP_mul || op == OP_ashr || op == OP_lshr || op == OP_shl || op == OP_band || op == OP_cand || op == OP_land) && cst == 0) { // 0 * X -> 0 - // 0 % X -> 0 // 0 >> X -> 0 // 0 << X -> 0 // 0 & X -> 0