Skip to content

Commit 62e2d1f

Browse files
authored
Allow 0-value events (#2256)
Before I disallowed events with no values, but spec does not say anything about it, so I think that restriction is not necessary.
1 parent a2741b3 commit 62e2d1f

6 files changed

Lines changed: 11 additions & 12 deletions

File tree

src/wasm/wasm-validator.cpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1943,9 +1943,6 @@ static void validateEvents(Module& module, ValidationInfo& info) {
19431943
FunctionType* ft = module.getFunctionType(curr->type);
19441944
info.shouldBeEqual(
19451945
ft->result, none, curr->name, "Event type's result type should be none");
1946-
info.shouldBeTrue(!curr->params.empty(),
1947-
curr->name,
1948-
"There should be 1 or more values in an event type");
19491946
info.shouldBeEqual(curr->attribute,
19501947
(unsigned)0,
19511948
curr->attribute,

test/events.wast

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
(module
44
(event (attr 0) (param i32))
55
(event $e (attr 0) (param i32 f32))
6+
(event $empty (attr 0))
67

78
(event $e-params0 (attr 0) (param i32 f32))
89
(event $e-params1 (attr 0) (param i32) (param f32))

test/events.wast.from-wast

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
(module
22
(type $FUNCSIG$vi (func (param i32)))
33
(type $FUNCSIG$vif (func (param i32 f32)))
4+
(type $FUNCSIG$v (func))
45
(import "env" "im0" (event $e-import (attr 0) (param i32)))
56
(import "env" "im1" (event $import$event1 (attr 0) (param i32 f32)))
67
(event $2 (attr 0) (param i32))
78
(event $e (attr 0) (param i32 f32))
9+
(event $empty (attr 0) (param))
810
(event $e-params0 (attr 0) (param i32 f32))
911
(event $e-params1 (attr 0) (param i32 f32))
1012
(event $e-export (attr 0) (param i32))

test/events.wast.fromBinary

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
(module
22
(type $0 (func (param i32)))
33
(type $1 (func (param i32 f32)))
4+
(type $2 (func))
45
(import "env" "im0" (event $eimport$0 (attr 0) (param i32)))
56
(import "env" "im1" (event $eimport$1 (attr 0) (param i32 f32)))
67
(event $event$0 (attr 0) (param i32))
78
(event $event$1 (attr 0) (param i32 f32))
8-
(event $event$2 (attr 0) (param i32 f32))
9+
(event $event$2 (attr 0) (param))
910
(event $event$3 (attr 0) (param i32 f32))
10-
(event $event$4 (attr 0) (param i32))
11+
(event $event$4 (attr 0) (param i32 f32))
12+
(event $event$5 (attr 0) (param i32))
1113
(export "ex1" (event $event$1))
1214
)
1315

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
(module
22
(type $0 (func (param i32)))
33
(type $1 (func (param i32 f32)))
4+
(type $2 (func))
45
(import "env" "im0" (event $eimport$0 (attr 0) (param i32)))
56
(import "env" "im1" (event $eimport$1 (attr 0) (param i32 f32)))
67
(event $event$0 (attr 0) (param i32))
78
(event $event$1 (attr 0) (param i32 f32))
8-
(event $event$2 (attr 0) (param i32 f32))
9+
(event $event$2 (attr 0) (param))
910
(event $event$3 (attr 0) (param i32 f32))
10-
(event $event$4 (attr 0) (param i32))
11+
(event $event$4 (attr 0) (param i32 f32))
12+
(event $event$5 (attr 0) (param i32))
1113
(export "ex1" (event $event$1))
1214
)
1315

test/spec/events.wast

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,6 @@
1919
"Event type's result type should be none"
2020
)
2121

22-
(assert_invalid
23-
(module (event $e (attr 0)))
24-
"There should be 1 or more values in an event type"
25-
)
26-
2722
(assert_invalid
2823
(module (event $e (attr 1) (param i32)))
2924
"Currently only attribute 0 is supported"

0 commit comments

Comments
 (0)