Cleanup blocks are declared with `bb (cleanup) = { ... }`.
`Call` and `Drop` terminators take an additional argument describing the
unwind action, which is one of the following:
* `UnwindContinue()`
* `UnwindUnreachable()`
* `UnwindTerminate(reason)`, where reason is `ReasonAbi` or `ReasonInCleanup`
* `UnwindCleanup(block)`
Also support unwind resume and unwind terminate terminators:
* `UnwindResume()`
* `UnwindTerminate(reason)`
|
||
|---|---|---|
| .. | ||
| call_arg_copy.move_packed.DeadStoreElimination.panic-abort.diff | ||
| call_arg_copy.move_packed.DeadStoreElimination.panic-unwind.diff | ||
| call_arg_copy.move_simple.DeadStoreElimination.panic-abort.diff | ||
| call_arg_copy.move_simple.DeadStoreElimination.panic-unwind.diff | ||
| call_arg_copy.rs | ||
| cycle.cycle.DeadStoreElimination.diff | ||
| cycle.rs | ||
| place_mention.main.DeadStoreElimination.diff | ||
| place_mention.rs | ||
| provenance_soundness.pointer_to_int.DeadStoreElimination.diff | ||
| provenance_soundness.retags.DeadStoreElimination.diff | ||
| provenance_soundness.rs | ||