diff options
author | Alon Zakai <alonzakai@gmail.com> | 2015-12-06 14:17:10 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2015-12-06 14:17:10 -0800 |
commit | 3e5ee789acecd01c092d9c834530f3ee2bf382c8 (patch) | |
tree | 79da839bf06f97be308a2ebae3c478f33206d973 /src | |
parent | 7fd4379192eb8d1296373ff454ea643f1b147fa0 (diff) | |
download | binaryen-3e5ee789acecd01c092d9c834530f3ee2bf382c8.tar.gz binaryen-3e5ee789acecd01c092d9c834530f3ee2bf382c8.tar.bz2 binaryen-3e5ee789acecd01c092d9c834530f3ee2bf382c8.zip |
handle nested blocks with returns in wasm2asm
Diffstat (limited to 'src')
-rw-r--r-- | src/wasm2asm.h | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/src/wasm2asm.h b/src/wasm2asm.h index c2e1141d1..89f33381a 100644 --- a/src/wasm2asm.h +++ b/src/wasm2asm.h @@ -481,12 +481,7 @@ Ref Wasm2AsmBuilder::processFunctionBody(Expression* curr, IString result) { flattenAppend(ret, ValueBuilder::makeStatement(visit(curr->list[i], NO_RESULT))); } if (result != NO_RESULT) { - ret[1]->push_back(ValueBuilder::makeStatement( - ValueBuilder::makeAssign( - result, - visit(curr->list[size-1], result) - ) - )); + flattenAppend(ret, visitAndAssign(curr->list[size-1], result)); } if (curr->name.is()) { ret = ValueBuilder::makeLabel(fromName(curr->name), ret); |