about summary refs log tree commit diff
path: root/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2023-11-14 08:53:25 +0000
committerbors <bors@rust-lang.org>2023-11-14 08:53:25 +0000
commit5526682702c502626f5dc31f80d07f2b7339c81a (patch)
treed46b14fbc0e7e5262f42fb85439f4a6fc5195906 /compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp
parent173b6e686b158dbad7d072c64bef3ced2052312b (diff)
parent78da5776509f4e646a664de3ee7041f8008d5931 (diff)
downloadrust-5526682702c502626f5dc31f80d07f2b7339c81a.tar.gz
rust-5526682702c502626f5dc31f80d07f2b7339c81a.zip
Auto merge of #117330 - tmiasko:custom-mir-cleanup-blocks, r=cjgillot
Custom MIR: Support cleanup blocks

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)`
Diffstat (limited to 'compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions