diff options
author | Alon Zakai <alonzakai@gmail.com> | 2015-11-21 19:54:50 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2015-11-21 19:55:11 -0800 |
commit | c7140e7bd23a36c9a8e8f869617c2f8e55d1f780 (patch) | |
tree | a56d39734426e13f5b413d865cee022d67c8abf4 /src | |
parent | 9eefdcb1adea44b7c9b05e767f98ed5fef8f5401 (diff) | |
download | binaryen-c7140e7bd23a36c9a8e8f869617c2f8e55d1f780.tar.gz binaryen-c7140e7bd23a36c9a8e8f869617c2f8e55d1f780.tar.bz2 binaryen-c7140e7bd23a36c9a8e8f869617c2f8e55d1f780.zip |
fix do-while loops
Diffstat (limited to 'src')
-rw-r--r-- | src/asm2wasm.h | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/asm2wasm.h b/src/asm2wasm.h index 204e014c9..f9999f011 100644 --- a/src/asm2wasm.h +++ b/src/asm2wasm.h @@ -1263,12 +1263,11 @@ Function* Asm2WasmBuilder::processFunction(Ref ast) { ret->body = process(ast[2]); continueStack.pop_back(); breakStack.pop_back(); - Break *breakOut = allocator.alloc<Break>(); - breakOut->name = out; + Break *continuer = allocator.alloc<Break>(); + continuer->name = in; If *condition = allocator.alloc<If>(); condition->condition = process(ast[1]); - condition->ifTrue = allocator.alloc<Nop>(); - condition->ifFalse = breakOut; + condition->ifTrue = continuer; Block *block = blockify(ret->body); block->list.push_back(condition); ret->body = block; |