diff options
author | Alon Zakai <alonzakai@gmail.com> | 2017-03-14 14:06:36 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-03-14 14:06:36 -0700 |
commit | a407b989ecc0c57ed4862ceaaa25acb0a41af63c (patch) | |
tree | 736ec0349a9429430b1995fe7d913d40ad01b67a /test | |
parent | c1e18d8aded2b86cfd8fb86886ad74cee2f14535 (diff) | |
download | binaryen-a407b989ecc0c57ed4862ceaaa25acb0a41af63c.tar.gz binaryen-a407b989ecc0c57ed4862ceaaa25acb0a41af63c.tar.bz2 binaryen-a407b989ecc0c57ed4862ceaaa25acb0a41af63c.zip |
fix emitting of unreachable ifs (#944)
Diffstat (limited to 'test')
-rw-r--r-- | test/unit.wast | 12 | ||||
-rw-r--r-- | test/unit.wast.from-wast | 45 | ||||
-rw-r--r-- | test/unit.wast.fromBinary | 46 | ||||
-rw-r--r-- | test/unit.wast.fromBinary.noDebugInfo | 46 |
4 files changed, 149 insertions, 0 deletions
diff --git a/test/unit.wast b/test/unit.wast index 6c3d8e0fa..2cd164238 100644 --- a/test/unit.wast +++ b/test/unit.wast @@ -525,4 +525,16 @@ (return (i32.const 1)) ) ) + (func $unreachable-ifs + (if (unreachable) (nop)) + (if (unreachable) (unreachable)) + (if (unreachable) (nop) (nop)) + (if (unreachable) (unreachable) (nop)) + (if (unreachable) (nop) (unreachable)) + (if (unreachable) (unreachable) (unreachable)) + ;; + (if (i32.const 1) (unreachable) (nop)) + (if (i32.const 1) (nop) (unreachable)) + (if (i32.const 1) (unreachable) (unreachable)) + ) ) diff --git a/test/unit.wast.from-wast b/test/unit.wast.from-wast index b7b914795..99def6ded 100644 --- a/test/unit.wast.from-wast +++ b/test/unit.wast.from-wast @@ -557,4 +557,49 @@ ) ) ) + (func $unreachable-ifs (type $FUNCSIG$v) + (if + (unreachable) + (nop) + ) + (if + (unreachable) + (unreachable) + ) + (if + (unreachable) + (nop) + (nop) + ) + (if + (unreachable) + (unreachable) + (nop) + ) + (if + (unreachable) + (nop) + (unreachable) + ) + (if + (unreachable) + (unreachable) + (unreachable) + ) + (if + (i32.const 1) + (unreachable) + (nop) + ) + (if + (i32.const 1) + (nop) + (unreachable) + ) + (if + (i32.const 1) + (unreachable) + (unreachable) + ) + ) ) diff --git a/test/unit.wast.fromBinary b/test/unit.wast.fromBinary index 7a9b1c58d..266cd2246 100644 --- a/test/unit.wast.fromBinary +++ b/test/unit.wast.fromBinary @@ -595,5 +595,51 @@ ) (unreachable) ) + (func $unreachable-ifs (type $1) + (block $label$0 + (unreachable) + (unreachable) + (unreachable) + (unreachable) + (unreachable) + (unreachable) + (unreachable) + (unreachable) + (unreachable) + (unreachable) + (unreachable) + (unreachable) + (if + (i32.const 1) + (block $label$1 + (unreachable) + ) + (block $label$2 + (nop) + ) + ) + (if + (i32.const 1) + (block $label$3 + (nop) + ) + (block $label$4 + (unreachable) + ) + ) + (if + (i32.const 1) + (block $label$5 + (unreachable) + ) + (block $label$6 + (unreachable) + ) + ) + (unreachable) + (unreachable) + ) + (unreachable) + ) ) diff --git a/test/unit.wast.fromBinary.noDebugInfo b/test/unit.wast.fromBinary.noDebugInfo index 704da90f3..6818db1bb 100644 --- a/test/unit.wast.fromBinary.noDebugInfo +++ b/test/unit.wast.fromBinary.noDebugInfo @@ -595,5 +595,51 @@ ) (unreachable) ) + (func $35 (type $1) + (block $label$0 + (unreachable) + (unreachable) + (unreachable) + (unreachable) + (unreachable) + (unreachable) + (unreachable) + (unreachable) + (unreachable) + (unreachable) + (unreachable) + (unreachable) + (if + (i32.const 1) + (block $label$1 + (unreachable) + ) + (block $label$2 + (nop) + ) + ) + (if + (i32.const 1) + (block $label$3 + (nop) + ) + (block $label$4 + (unreachable) + ) + ) + (if + (i32.const 1) + (block $label$5 + (unreachable) + ) + (block $label$6 + (unreachable) + ) + ) + (unreachable) + (unreachable) + ) + (unreachable) + ) ) |