summaryrefslogtreecommitdiff
path: root/src/asm2wasm.h
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2015-11-02 17:30:37 -0800
committerAlon Zakai <alonzakai@gmail.com>2015-11-02 17:30:37 -0800
commit1c25d8bd86c466306cc8e0bebed4fe7ae066e64e (patch)
treed351fc7715596f7ec3adac5cff3f36b82bf4649e /src/asm2wasm.h
parent79c1a48d3b50c6298f4b89c3237df426aebd3f75 (diff)
downloadbinaryen-1c25d8bd86c466306cc8e0bebed4fe7ae066e64e.tar.gz
binaryen-1c25d8bd86c466306cc8e0bebed4fe7ae066e64e.tar.bz2
binaryen-1c25d8bd86c466306cc8e0bebed4fe7ae066e64e.zip
fix while (condition) loops
Diffstat (limited to 'src/asm2wasm.h')
-rw-r--r--src/asm2wasm.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/asm2wasm.h b/src/asm2wasm.h
index 04d4db21c..65d837496 100644
--- a/src/asm2wasm.h
+++ b/src/asm2wasm.h
@@ -881,10 +881,11 @@ Function* Asm2WasmBuilder::processFunction(Ref ast) {
ret->body = process(ast[2]);
} else {
Break *breakOut = allocator.alloc<Break>();
- breakOut->name = in;
+ breakOut->name = out;
If *condition = allocator.alloc<If>();
condition->condition = process(ast[1]);
- condition->ifTrue = breakOut;
+ condition->ifTrue = allocator.alloc<Nop>();
+ condition->ifFalse = breakOut;
auto body = allocator.alloc<Block>();
body->list.push_back(condition);
body->list.push_back(process(ast[2]));