diff options
author | Alon Zakai <alonzakai@gmail.com> | 2015-11-18 21:17:17 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2015-11-18 21:17:17 -0800 |
commit | d9324eaf694af686fe81f05847dac640875b5499 (patch) | |
tree | 8ed14b69a3f435065e685cd49e37e3267dd801c6 /test | |
parent | ebb4cc7d0c655975cfc7b5538ed61bd09fd9a507 (diff) | |
download | binaryen-d9324eaf694af686fe81f05847dac640875b5499.tar.gz binaryen-d9324eaf694af686fe81f05847dac640875b5499.tar.bz2 binaryen-d9324eaf694af686fe81f05847dac640875b5499.zip |
use labels on switches in asm2wasm
Diffstat (limited to 'test')
-rw-r--r-- | test/unit.asm.js | 16 | ||||
-rw-r--r-- | test/unit.wast | 38 |
2 files changed, 54 insertions, 0 deletions
diff --git a/test/unit.asm.js b/test/unit.asm.js index ed52e515b..49e912ae1 100644 --- a/test/unit.asm.js +++ b/test/unit.asm.js @@ -57,6 +57,22 @@ function () { case 12: return 121; case 5: return 51; } + Lout: switch (x | 0) { + case 12: break; + case 10: break Lout; + case 5: { + while (1) { + break; + } + break; + } + case 2: { + while (1) { + break Lout; + } + break; + } + } } function frem() { return +(5.5 % 1.2); diff --git a/test/unit.wast b/test/unit.wast index 9ebf440be..88f2de77b 100644 --- a/test/unit.wast +++ b/test/unit.wast @@ -208,6 +208,44 @@ (nop) ) ) + (tableswitch $label$break$Lout + (i32.sub + (get_local $x) + (i32.const 2) + ) + (table (case $switch-case$15) (case $switch-default$16) (case $switch-default$16) (case $switch-case$12) (case $switch-default$16) (case $switch-default$16) (case $switch-default$16) (case $switch-default$16) (case $switch-case$9) (case $switch-default$16) (case $switch-case$8)) (case $switch-default$16) + (case switch-case$8 + (br $label$break$Lout + ) + ) + (case switch-case$9 + (br $label$break$Lout + ) + ) + (case switch-case$12 + (block + (loop $while-out$10 $while-in$11 + (br $while-out$10 + ) + ) + (br $label$break$Lout + ) + ) + ) + (case switch-case$15 + (block + (loop $while-out$13 $while-in$14 + (br $label$break$Lout + ) + ) + (br $label$break$Lout + ) + ) + ) + (case switch-default$16 + (nop) + ) + ) ) ) (func $frem (result f64) |