summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2016-01-04 14:27:46 -0800
committerAlon Zakai <alonzakai@gmail.com>2016-01-04 14:27:56 -0800
commitc6d08d97c196e2ceae5e3b960befcd6c66916cad (patch)
tree89c27cee4f213fd66f6e60ce9b267d53a2c00b00 /test
parent5e82fc26d6bb0cec8863156e052250a4e441595c (diff)
downloadbinaryen-c6d08d97c196e2ceae5e3b960befcd6c66916cad.tar.gz
binaryen-c6d08d97c196e2ceae5e3b960befcd6c66916cad.tar.bz2
binaryen-c6d08d97c196e2ceae5e3b960befcd6c66916cad.zip
parse for loops in asm2wasm #60
Diffstat (limited to 'test')
-rw-r--r--test/unit.asm.js8
-rw-r--r--test/unit.fromasm30
2 files changed, 37 insertions, 1 deletions
diff --git a/test/unit.asm.js b/test/unit.asm.js
index a2235dd62..e539c6139 100644
--- a/test/unit.asm.js
+++ b/test/unit.asm.js
@@ -1,4 +1,4 @@
-function () {
+function asm() {
"use asm";
var t = global.NaN, u = global.Infinity;
@@ -129,6 +129,12 @@ function () {
function cneg_nosemicolon() {
FUNCTION_TABLE_c[1 & 7](1) // no semicolon
}
+ function forLoop() {
+ var i = 0;
+ for (i = 1; (i | 0) < 200; i = i + 1 | 0) {
+ h(i | 0);
+ }
+ }
function z() {
}
diff --git a/test/unit.fromasm b/test/unit.fromasm
index 5a6b78de5..4b95dfea1 100644
--- a/test/unit.fromasm
+++ b/test/unit.fromasm
@@ -409,6 +409,36 @@
(i32.const 1)
)
)
+ (func $forLoop
+ (local $i i32)
+ (block
+ (set_local $i
+ (i32.const 1)
+ )
+ (loop $for-out$0 $for-in$1
+ (block
+ (if_else
+ (i32.lt_s
+ (get_local $i)
+ (i32.const 200)
+ )
+ (nop)
+ (br $for-out$0)
+ )
+ (call $h
+ (get_local $i)
+ )
+ (set_local $i
+ (i32.add
+ (get_local $i)
+ (i32.const 1)
+ )
+ )
+ (br $for-in$1)
+ )
+ )
+ )
+ )
(func $z
(nop)
)