Skip to content

Commit dc9c107

Browse files
committed
Test evaluation order
1 parent cbab7f7 commit dc9c107

File tree

1 file changed

+20
-1
lines changed

1 file changed

+20
-1
lines changed

Diff for: test/core/script.wast

+20-1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
(func (export "swap") (param i32 i32) (result i32 i32)
1616
(local.get 1) (local.get 0)
1717
)
18+
(func (export "nop"))
1819
)
1920

2021
(assert_return (get "g") (i32.const 42))
@@ -39,7 +40,7 @@
3940
(assert_return (invoke $m1 "inc" (invoke $m1 "inc" (get "g"))) (i32.const 47))
4041

4142
(assert_return (invoke "add3" (get $m1 "g") (invoke $m1 "inc" (get "g")) (get "g")) (i32.const 132))
42-
(assert_return (invoke "add3" (invoke "swap" (get $m1 "g") (invoke $m1 "inc" (get "g"))) (i32.const -20)) (i32.const 67))
43+
(assert_return (invoke "add3" (invoke "swap" (get $m1 "g") (invoke "nop") (invoke $m1 "inc" (get "g"))) (i32.const -20)) (i32.const 67))
4344

4445

4546
(module
@@ -67,3 +68,21 @@
6768
(assert_return (invoke "f-v128" (get "g-v128")) (v128.const i32x4 42 42 42 42))
6869
(assert_return (invoke "f-funcref" (get "g-funcref")) (ref.null func))
6970
(assert_return (invoke "f-externref" (get "g-externref")) (ref.null extern))
71+
72+
73+
(module
74+
(global $g (export "g") (mut i32) (i32.const 1))
75+
(func (export "inc") (global.set $g (i32.add (global.get $g) (i32.const 1))))
76+
(func (export "get") (result i32) (global.get $g))
77+
)
78+
79+
;; Left-to-right evaluation
80+
(assert_return
81+
(invoke "get"
82+
(set "g" (i32.const 3))
83+
(invoke "inc")
84+
(set "g" (invoke $m1 "inc" (get "g")))
85+
(invoke "inc")
86+
)
87+
(i32.const 6)
88+
)

0 commit comments

Comments
 (0)