blob: 1b24591480144f516765e6c6d45dd9ba2c129505 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
|
(module
(type $FUNCSIG$ii (func (param i32) (result i32)))
(import "env" "table" (table 9 9 anyfunc))
(func $break-and-binary (result i32)
(block $x (result i32)
(f32.add
(br_if $x
(i32.trunc_u/f64
(unreachable)
)
(i32.trunc_u/f64
(unreachable)
)
)
(f32.const 1)
)
)
)
(func $call-and-unary (param i32) (result i32)
(drop
(i64.eqz
(call $call-and-unary
(unreachable)
)
)
)
(drop
(i64.eqz
(i32.eqz
(unreachable)
)
)
)
(drop
(i64.eqz
(call_indirect $FUNCSIG$ii
(unreachable)
(unreachable)
)
)
)
)
(func $tee (param $x i32)
(local $y f32)
(drop
(i64.eqz
(tee_local $x
(unreachable)
)
)
)
(drop
(tee_local $y
(i64.eqz
(unreachable)
)
)
)
)
(func $tee2
(local $0 f32)
(if
(i32.const 259)
(set_local $0
(unreachable)
)
)
)
(func $select
(drop
(i64.eqz
(select
(unreachable)
(i32.const 1)
(i32.const 2)
)
)
)
)
(func $untaken-break-should-have-value (result i32)
(block $x (result i32)
(block
(br_if $x ;; ok to not have a value, since an untaken branch. but must emit valid binary for wasm
(unreachable)
)
)
)
)
(func $unreachable-in-block-but-code-before (param $0 i32) (result i32)
(if
(get_local $0)
(return
(i32.const 127)
)
)
(block $label$0 (result i32)
(br_if $label$0
(return
(i32.const -32)
)
)
)
)
(func $br_table_unreachable_to_also_unreachable (result i32)
(block $a (result i32)
(block $b
(br_table $a $b ;; seems to send a value, but is not taken
(unreachable)
(unreachable)
)
)
)
)
)
|