| ;; RUN: wasm-opt %s -all --fuzz-exec-before --fuzz-exec-second=%s.second -q -o /dev/null 2>&1 | filecheck %s |
| |
| ;; Check that clearing the continuation store in linked modules clears it in-place, |
| ;; so that continuations leaked from the primary module do not affect the second module. |
| |
| (module |
| (type $func_t (func)) |
| (type $cont_t (cont $func_t)) |
| (tag $tag) |
| |
| (func $f_suspend |
| (suspend $tag) |
| ) |
| |
| (func $test1 (export "test1") |
| (local $c (ref $cont_t)) |
| (local.set $c (cont.new $cont_t (ref.func $f_suspend))) |
| (resume $cont_t (local.get $c)) |
| ) |
| ) |
| |
| ;; CHECK: [fuzz-exec] export test1 |
| ;; CHECK-NEXT: [exception thrown: unhandled suspend] |
| ;; CHECK: [fuzz-exec] running second module |
| ;; CHECK-NEXT: [fuzz-exec] export test2 |
| ;; CHECK-NEXT: [exception thrown: unhandled suspend] |