unwindException(_loop->tryCleanup);
if (ast->label.isEmpty()) {
- _block->JUMP(_loop->continueBlock);
+ for (Loop *loop = _loop; loop; loop = loop->parent) {
+ if (loop->continueBlock) {
+ _block->JUMP(loop->continueBlock);
+ return false;
+ }
+ }
} else {
for (Loop *loop = _loop; loop; loop = loop->parent) {
if (loop->labelledStatement && loop->labelledStatement->label == ast->label) {
return false;
}
}
- throwSyntaxError(ast->lastSourceLocation(), QCoreApplication::translate("qv4codegen", "Undefined label '%1'").arg(ast->label.toString()));
}
+ throwSyntaxError(ast->lastSourceLocation(), QCoreApplication::translate("qv4codegen", "Undefined label '%1'").arg(ast->label.toString()));
return false;
}