summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2015-11-18 21:17:17 -0800
committerAlon Zakai <alonzakai@gmail.com>2015-11-18 21:17:17 -0800
commitd9324eaf694af686fe81f05847dac640875b5499 (patch)
tree8ed14b69a3f435065e685cd49e37e3267dd801c6 /test
parentebb4cc7d0c655975cfc7b5538ed61bd09fd9a507 (diff)
downloadbinaryen-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.js16
-rw-r--r--test/unit.wast38
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)