| ;; i32 operations | |
| (module | |
| (func (export "empty")) | |
| (func (export "add") (param $x i32) (param $y i32) (result i32) (i32.add (local.get $x) (local.get $y))) | |
| (func (export "div_s") (param $x i32) (param $y i32) (result i32) (i32.div_s (local.get $x) (local.get $y))) | |
| ) | |
| (assert_return (invoke "empty")) | |
| (assert_return (invoke "add" (i32.const 1) (i32.const 1)) (i32.const 2)) | |
| (assert_trap (invoke "div_s" (i32.const 0) (i32.const 0)) "integer divide by zero") | |
| (assert_trap (invoke "div_s" (i32.const 0x80000000) (i32.const -1)) "integer overflow") |