Fixed a bug in the `OP_JMPNOT` optimization (13eaff4f); fix #4644

parent 942c0769
...@@ -1578,7 +1578,7 @@ codegen(codegen_scope *s, node *tree, int val) ...@@ -1578,7 +1578,7 @@ codegen(codegen_scope *s, node *tree, int val)
} }
codegen(s, tree->car, VAL); codegen(s, tree->car, VAL);
pop(); pop();
if (tree->cdr->car) { if (val || tree->cdr->car) {
pos1 = genjmp2(s, OP_JMPNOT, cursp(), 0, val); pos1 = genjmp2(s, OP_JMPNOT, cursp(), 0, val);
codegen(s, tree->cdr->car, val); codegen(s, tree->cdr->car, val);
if (elsepart) { if (elsepart) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment