diff options
-rw-r--r-- | qv4codegen.cpp | 9 | ||||
-rw-r--r-- | tests/TestExpectations | 4 |
2 files changed, 2 insertions, 11 deletions
diff --git a/qv4codegen.cpp b/qv4codegen.cpp index 00610cb1e4..0730febfe2 100644 --- a/qv4codegen.cpp +++ b/qv4codegen.cpp @@ -1095,17 +1095,12 @@ bool Codegen::visit(BinaryExpression *ast) condition(ast->right, _expr.iftrue, _expr.iffalse); } else { IR::BasicBlock *iftrue = _function->newBasicBlock(); - IR::BasicBlock *iffalse = _function->newBasicBlock(); IR::BasicBlock *endif = _function->newBasicBlock(); const unsigned r = _block->newTemp(); - condition(ast->left, iftrue, iffalse); - _block = iffalse; - - move(_block->TEMP(r), _block->CONST(IR::BoolType, 0)); - _block->JUMP(endif); - + move(_block->TEMP(r), *expression(ast->left)); + cjump(_block->TEMP(r), iftrue, endif); _block = iftrue; move(_block->TEMP(r), *expression(ast->right)); _block->JUMP(endif); diff --git a/tests/TestExpectations b/tests/TestExpectations index 3f18771fed..3b3d390c6c 100644 --- a/tests/TestExpectations +++ b/tests/TestExpectations @@ -13,10 +13,6 @@ S15.1.3.2_A2.5_T1 10.4.3-1-17-s failing 10.4.3-1-63-s failing 10.4.3-1-82-s failing -S11.11.1_A2.1_T1 failing -S11.11.1_A3_T2 failing -S11.11.1_A3_T3 failing -S11.11.1_A3_T4 failing S11.2.1_A3_T1 failing S11.2.1_A3_T2 failing S11.2.1_A3_T3 failing |