blob: da871dd2229731e8097d036ddba42b1080ff0e96 [file] [log] [blame] [edit]
(assert_invalid
(module
(func (param $expected i32) (param $timeout i64) (result i32)
(waitqueue.wait (i32.const 0) (local.get $expected) (local.get $timeout))
)
) "waitqueue.wait waitqueue must be a subtype of (struct (field waitqueue))"
)
(assert_invalid
(module
(type $t (struct (field waitqueue)))
(global $g (ref $t) (struct.new $t (i32.const 0)))
(func (param $expected i32) (param $timeout i64) (result i32)
(waitqueue.wait (global.get $g) (i64.const 0) (local.get $timeout))
)
) "waitqueue.wait value must be an i32"
)
(assert_invalid
(module
(type $t (struct (field waitqueue)))
(global $g (ref $t) (struct.new $t (i32.const 0)))
(func (param $expected i32) (param $timeout i64) (result i32)
(waitqueue.wait (global.get $g) (local.get $expected) (i32.const 0))
)
) "waitqueue.wait timeout must be an i64"
)
(assert_invalid
(module
(func (param $count i32) (result i32)
(waitqueue.notify (i32.const 0) (local.get $count))
)
) "waitqueue.notify waitqueue must be a subtype of (struct (field waitqueue))"
)
(assert_invalid
(module
(type $t (struct (field waitqueue)))
(global $g (ref $t) (struct.new $t (i32.const 0)))
(func (param $count i32) (result i32)
(waitqueue.notify (global.get $g) (i64.const 0))
)
) "waitqueue.notify count must be an i32"
)
(module
(type $t (struct (field waitqueue)))
(global $g (ref $t) (struct.new $t (i32.const 0)))
(func (export "waitqueue.wait") (param $expected i32) (param $timeout i64) (result i32)
(waitqueue.wait (global.get $g) (local.get $expected) (local.get $timeout))
)
(func (export "waitqueue.notify") (param $count i32) (result i32)
(waitqueue.notify (global.get $g) (local.get $count))
)
)