summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@digia.com>2013-01-04 10:25:01 +0100
committerLars Knoll <lars.knoll@digia.com>2013-01-04 12:00:31 +0100
commit2f831d4e0b10fd0659a8dd2d5a0997cff42a382f (patch)
tree9be555ce957d84e3fd896b51e208d885d9a06d0a
parent70f0a25864e74b6778bf1603684d36fff6e20bcc (diff)
Fix break without identifier in labelled loop
Make sure to do leaveLoop() after enterLoop() when processing labelled statements. Fixes hang in ch12/12.8/S12.8_A3 Change-Id: Iee96ea515524e9ea879f7528dc43e552b1343020 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
-rw-r--r--qv4codegen.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/qv4codegen.cpp b/qv4codegen.cpp
index 190c0dcf63..5c95cd0158 100644
--- a/qv4codegen.cpp
+++ b/qv4codegen.cpp
@@ -2112,6 +2112,7 @@ bool Codegen::visit(LabelledStatement *ast)
statement(ast->statement);
_block->JUMP(breakBlock);
_block = breakBlock;
+ leaveLoop();
}
return false;