1 ;; Failures in unreachable code.
4 (module (func $local-index (unreachable) (drop (local.get 0))))
8 (module (func $global-index (unreachable) (drop (global.get 0))))
12 (module (func $func-index (unreachable) (call 1)))
16 (module (func $label-index (unreachable) (br 1)))
21 (module (func $type-num-vs-num
22 (unreachable) (drop (i64.eqz (i32.const 0))))
27 (module (func $type-poly-num-vs-num (result i32)
28 (unreachable) (i64.const 0) (i32.const 0) (select)
33 (module (func $type-poly-transitive-num-vs-num (result i32)
35 (i64.const 0) (i32.const 0) (select)
36 (i32.const 0) (i32.const 0) (select)
42 (module (func $type-unconsumed-const (unreachable) (i32.const 0)))
46 (module (func $type-unconsumed-result (unreachable) (i32.eqz)))
50 (module (func $type-unconsumed-result2
51 (unreachable) (i32.const 0) (i32.add)
56 (module (func $type-unconsumed-poly0 (unreachable) (select)))
60 (module (func $type-unconsumed-poly1 (unreachable) (i32.const 0) (select)))
64 (module (func $type-unconsumed-poly2
65 (unreachable) (i32.const 0) (i32.const 0) (select)
71 (module (func $type-unary-num-vs-void-after-break
72 (block (br 0) (block (drop (i32.eqz (nop)))))
77 (module (func $type-unary-num-vs-num-after-break
78 (block (br 0) (drop (i32.eqz (f32.const 1))))
83 (module (func $type-binary-num-vs-void-after-break
84 (block (br 0) (block (drop (f32.eq (i32.const 1)))))
89 (module (func $type-binary-num-vs-num-after-break
90 (block (br 0) (drop (f32.eq (i32.const 1) (f32.const 0))))
95 (module (func $type-block-value-num-vs-void-after-break
96 (block (br 0) (i32.const 1))
101 (module (func $type-block-value-num-vs-num-after-break (result i32)
102 (block (result i32) (i32.const 1) (br 0) (f32.const 0))
107 (module (func $type-loop-value-num-vs-void-after-break
108 (block (loop (br 1) (i32.const 1)))
113 (module (func $type-loop-value-num-vs-num-after-break (result i32)
114 (loop (result i32) (br 1 (i32.const 1)) (f32.const 0))
119 (module (func $type-func-value-num-vs-void-after-break
125 (module (func $type-func-value-num-vs-num-after-break (result i32)
126 (br 0 (i32.const 1)) (f32.const 0)
132 (module (func $type-unary-num-vs-void-after-return
133 (return) (block (drop (i32.eqz (nop))))
138 (module (func $type-unary-num-vs-num-after-return
139 (return) (drop (i32.eqz (f32.const 1)))
144 (module (func $type-binary-num-vs-void-after-return
145 (return) (block (drop (f32.eq (i32.const 1))))
150 (module (func $type-binary-num-vs-num-after-return
151 (return) (drop (f32.eq (i32.const 1) (f32.const 0)))
156 (module (func $type-block-value-num-vs-void-after-return
157 (block (return) (i32.const 1))
162 (module (func $type-block-value-num-vs-num-after-return (result i32)
163 (block (result i32) (i32.const 1) (return (i32.const 0)) (f32.const 0))
168 (module (func $type-loop-value-num-vs-void-after-return
169 (block (loop (return) (i32.const 1)))
174 (module (func $type-loop-value-num-vs-num-after-return (result i32)
175 (loop (result i32) (return (i32.const 1)) (f32.const 0))
180 (module (func $type-func-value-num-vs-void-after-return
181 (return) (i32.const 1)
186 (module (func $type-func-value-num-vs-num-after-return (result i32)
187 (return (i32.const 1)) (f32.const 0)
193 (module (func $type-unary-num-vs-void-after-unreachable
194 (unreachable) (block (drop (i32.eqz (nop))))
199 (module (func $type-unary-num-vs-void-in-loop-after-unreachable
200 (unreachable) (loop (drop (i32.eqz (nop))))
205 (module (func $type-unary-num-vs-void-in-i32-loop-after-unreachable
206 (unreachable) (loop (result i32) (i32.eqz (nop)))
211 (module (func $type-unary-num-vs-num-after-unreachable
212 (unreachable) (drop (i32.eqz (f32.const 1)))
217 (module (func $type-binary-num-vs-void-after-unreachable
218 (unreachable) (block (drop (f32.eq (i32.const 1))))
223 (module (func $type-binary-num-vs-num-after-unreachable
224 (unreachable) (drop (f32.eq (i32.const 1) (f32.const 0)))
229 (module (func $type-block-value-num-vs-void-after-unreachable
230 (block (unreachable) (i32.const 1))
235 (module (func $type-block-value-num-vs-num-after-unreachable (result i32)
236 (block (result i32) (i32.const 1) (unreachable) (f32.const 0))
241 (module (func $type-loop-value-num-vs-void-after-unreachable
242 (block (loop (unreachable) (i32.const 1)))
247 (module (func $type-loop-value-num-vs-num-after-unreachable (result i32)
248 (loop (result i32) (unreachable) (f32.const 0))
253 (module (func $type-func-value-num-vs-void-after-unreachable
254 (unreachable) (i32.const 1)
259 (module (func $type-func-value-num-vs-num-after-unreachable (result i32)
260 (unreachable) (f32.const 0)
265 (module (func $type-unary-num-vs-void-in-if-after-unreachable
266 (unreachable) (if (i32.const 0) (then (drop (i32.eqz (nop)))))
271 (module (func $type-unary-num-vs-void-in-else-after-unreachable
272 (unreachable) (if (i32.const 0) (then (nop)) (else (drop (i32.eqz (nop)))))
277 (module (func $type-unary-num-vs-void-in-else-after-unreachable-if
278 (if (i32.const 0) (then (unreachable)) (else (drop (i32.eqz (nop)))))
284 (module (func $type-unary-num-vs-void-after-nested-unreachable
285 (block (unreachable)) (block (drop (i32.eqz (nop))))
290 (module (func $type-unary-num-vs-num-after-nested-unreachable
291 (block (unreachable)) (drop (i32.eqz (f32.const 1)))
296 (module (func $type-binary-num-vs-void-after-nested-unreachable
297 (block (unreachable)) (block (drop (f32.eq (i32.const 1))))
302 (module (func $type-binary-num-vs-num-after-nested-unreachable
303 (block (unreachable)) (drop (f32.eq (i32.const 1) (f32.const 0)))
308 (module (func $type-block-value-num-vs-void-after-nested-unreachable
309 (block (block (unreachable)) (i32.const 1))
314 (module (func $type-block-value-num-vs-num-after-nested-unreachable
316 (block (result i32) (i32.const 1) (block (unreachable)) (f32.const 0))
321 (module (func $type-loop-value-num-vs-void-after-nested-unreachable
322 (block (loop (block (unreachable)) (i32.const 1)))
327 (module (func $type-loop-value-num-vs-num-after-nested-unreachable
329 (loop (result i32) (block (unreachable)) (f32.const 0))
334 (module (func $type-func-value-num-vs-void-after-nested-unreachable
335 (block (unreachable)) (i32.const 1)
340 (module (func $type-func-value-num-vs-num-after-nested-unreachable
342 (block (unreachable)) (f32.const 0)
348 (module (func $type-unary-num-vs-void-after-infinite-loop
349 (loop (br 0)) (block (drop (i32.eqz (nop))))
354 (module (func $type-unary-num-vs-num-after-infinite-loop
355 (loop (br 0)) (drop (i32.eqz (f32.const 1)))
360 (module (func $type-binary-num-vs-void-after-infinite-loop
361 (loop (br 0)) (block (drop (f32.eq (i32.const 1))))
366 (module (func $type-binary-num-vs-num-after-infinite-loop
367 (loop (br 0)) (drop (f32.eq (i32.const 1) (f32.const 0)))
372 (module (func $type-block-value-num-vs-void-after-infinite-loop
373 (block (loop (br 0)) (i32.const 1))
378 (module (func $type-block-value-num-vs-num-after-infinite-loop (result i32)
379 (block (result i32) (i32.const 1) (loop (br 0)) (f32.const 0))
384 (module (func $type-loop-value-num-vs-void-after-infinite-loop
385 (block (loop (loop (br 0)) (i32.const 1)))
390 (module (func $type-loop-value-num-vs-num-after-infinite-loop (result i32)
391 (loop (result i32) (loop (br 0)) (f32.const 0))
396 (module (func $type-func-value-num-vs-void-after-infinite-loop
397 (loop (br 0)) (i32.const 1)
402 (module (func $type-func-value-num-vs-num-after-infinite-loop (result i32)
403 (loop (br 0)) (f32.const 0)
409 (module (func $type-unary-num-vs-void-in-dead-body
410 (if (i32.const 0) (then (drop (i32.eqz (nop)))))
415 (module (func $type-unary-num-vs-num-in-dead-body
416 (if (i32.const 0) (then (drop (i32.eqz (f32.const 1)))))
421 (module (func $type-binary-num-vs-void-in-dead-body
422 (if (i32.const 0) (then (drop (f32.eq (i32.const 1)))))
427 (module (func $type-binary-num-vs-num-in-dead-body
428 (if (i32.const 0) (then (drop (f32.eq (i32.const 1) (f32.const 0)))))
433 (module (func $type-if-value-num-vs-void-in-dead-body
434 (if (i32.const 0) (then (i32.const 1)))
439 (module (func $type-if-value-num-vs-num-in-dead-body (result i32)
440 (if (result i32) (i32.const 0) (then (f32.const 0)))
445 (module (func $type-block-value-num-vs-void-in-dead-body
446 (if (i32.const 0) (then (block (i32.const 1))))
451 (module (func $type-block-value-num-vs-num-in-dead-body (result i32)
452 (if (result i32) (i32.const 0) (then (block (result i32) (f32.const 0))))
457 (module (func $type-block-value-num-vs-void-in-dead-body
458 (if (i32.const 0) (then (loop (i32.const 1))))
463 (module (func $type-block-value-num-vs-num-in-dead-body (result i32)
464 (if (result i32) (i32.const 0) (then (loop (result i32) (f32.const 0))))
470 (module (func $type-return-second-num-vs-num (result i32)
471 (return (i32.const 1)) (return (f64.const 1))
477 (module (func $type-br-second-num-vs-num (result i32)
478 (block (result i32) (br 0 (i32.const 1)) (br 0 (f64.const 1)))
484 (module (func $type-br_if-cond-num-vs-num-after-unreachable
485 (block (br_if 0 (unreachable) (f32.const 0)))
490 (module (func $type-br_if-num-vs-void-after-unreachable (result i32)
492 (block (unreachable) (br_if 1 (i32.const 0) (i32.const 0)))
498 (module (func $type-br_if-num-vs-num-after-unreachable (result i32)
500 (block (result f32) (unreachable) (br_if 1 (i32.const 0) (i32.const 0)))
507 (module (func $type-br_if-num2-vs-num-after-unreachable (result i32)
509 (unreachable) (br_if 0 (i32.const 0) (i32.const 0)) (i32.const 0)
515 (module (func $type-br_table-num-vs-num-after-unreachable
516 (block (br_table 0 (unreachable) (f32.const 1)))
521 (module (func $type-br_table-label-num-vs-num-after-unreachable (result i32)
522 (block (result i32) (unreachable) (br_table 0 (f32.const 0) (i32.const 1)))
527 (module (func $type-br_table-label-num-vs-label-void-after-unreachable
531 (br_table 0 1 0 (i32.const 1))
539 (module (func $type-br_table-label-num-vs-label-num-after-unreachable
543 (br_table 0 1 1 (i32.const 1))
554 (module (func $type-block-value-nested-unreachable-num-vs-void
555 (block (i32.const 3) (block (unreachable)))
560 (module (func $type-block-value-nested-unreachable-void-vs-num (result i32)
561 (block (block (unreachable)))
566 (module (func $type-block-value-nested-unreachable-num-vs-num (result i32)
567 (block (result i64) (i64.const 0) (block (unreachable)))
572 (module (func $type-block-value-nested-unreachable-num2-vs-void (result i32)
573 (block (i32.const 3) (block (i64.const 1) (unreachable))) (i32.const 9)
579 (module (func $type-block-value-nested-br-num-vs-void
580 (block (i32.const 3) (block (br 1)))
585 (module (func $type-block-value-nested-br-void-vs-num (result i32)
586 (block (result i32) (block (br 1 (i32.const 0))))
591 (module (func $type-block-value-nested-br-num-vs-num (result i32)
592 (block (result i32) (i64.const 0) (block (br 1 (i32.const 0))))
598 (module (func $type-block-value-nested2-br-num-vs-void
599 (block (block (i32.const 3) (block (br 2))))
604 (module (func $type-block-value-nested2-br-void-vs-num (result i32)
605 (block (result i32) (block (block (br 2 (i32.const 0)))))
610 (module (func $type-block-value-nested2-br-num-vs-num (result i32)
612 (block (result i64) (i64.const 0) (block (br 2 (i32.const 0))))
618 (module (func $type-block-value-nested2-br-num2-vs-void (result i32)
619 (block (i32.const 3) (block (i64.const 1) (br 1))) (i32.const 9)
625 (module (func $type-block-value-nested-return-num-vs-void
626 (block (i32.const 3) (block (return)))
631 (module (func $type-block-value-nested-return-void-vs-num (result i32)
632 (block (block (return (i32.const 0))))
637 (module (func $type-block-value-nested-return-num-vs-num (result i32)
638 (block (result i64) (i64.const 0) (block (return (i32.const 0))))
643 (module (func $type-block-value-nested-return-num2-vs-void (result i32)
644 (block (i32.const 3) (block (i64.const 1) (return (i32.const 0))))
651 (module (func $type-loop-value-nested-unreachable-num-vs-void
652 (loop (i32.const 3) (block (unreachable)))
657 (module (func $type-loop-value-nested-unreachable-void-vs-num (result i32)
658 (loop (block (unreachable)))
663 (module (func $type-loop-value-nested-unreachable-num-vs-num (result i32)
664 (loop (result i64) (i64.const 0) (block (unreachable)))
670 (module (func $type-cont-last-void-vs-empty (result i32)
676 (module (func $type-cont-last-num-vs-empty (result i32)
677 (loop (br 0 (i32.const 0)))
683 (module (func $tee-local-unreachable-value
685 (local.tee 0 (unreachable))
690 (module (func $br_if-unreachable (result i32)
693 (br_if 1 (unreachable) (i32.const 0))
702 (func $type-br_if-after-unreachable (result i64)