summaryrefslogtreecommitdiff
path: root/src/emscripten-optimizer/simple_ast.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/emscripten-optimizer/simple_ast.h')
-rw-r--r--src/emscripten-optimizer/simple_ast.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/emscripten-optimizer/simple_ast.h b/src/emscripten-optimizer/simple_ast.h
index f38377e70..777dfc77f 100644
--- a/src/emscripten-optimizer/simple_ast.h
+++ b/src/emscripten-optimizer/simple_ast.h
@@ -635,7 +635,10 @@ struct JSPrinter {
}
bool isBlock(Ref node) {
- return node->isArray() && node[0] == BLOCK;
+ if (node->isArray() && node[0] == BLOCK) return true;
+ // Check for a label on a block
+ if (node->isArray() && node[0] == LABEL && isBlock(node[2])) return true;
+ return false;
}
bool isIf(Ref node) {