diff options
| author | katelyn a. martin <me+rustlang@katelyn.world> | 2021-04-13 09:55:21 -0400 |
|---|---|---|
| committer | katelyn a. martin <me+rustlang@katelyn.world> | 2021-04-13 09:55:21 -0400 |
| commit | 3e16d233d85e0774c58c736e3ce5a939d3ef2817 (patch) | |
| tree | 80d4aac08cb2c9e0abc8344883515e68072137e1 /compiler/rustc_codegen_llvm/src | |
| parent | 1284da34da56a17ae368e4673920ec4120562cbd (diff) | |
| download | rust-3e16d233d85e0774c58c736e3ce5a939d3ef2817.tar.gz rust-3e16d233d85e0774c58c736e3ce5a939d3ef2817.zip | |
move new c abi abort behavior behind feature gate
### Background
In #76570, new ABI strings including `C-unwind` were introduced.
Their behavior is specified in RFC 2945 [1].
However, it was reported in the #ffi-unwind stream of the Rust
community Zulip that this had altered the way that `extern "C"`
functions behaved even when the `c_unwind` feature gate was not
active. [2]
### Overview
This makes a small patch to
`rustc_mir_build::build::should_abort_on_panic`, so that the same
behavior from before is in place when the `c_unwind` gate is not
active.
`rustc_middle::ty::layout::fn_can_unwind` is not touched, as the
visible behavior should not differ before/after #76570. [3]
### Footnotes
[1]: https://github.com/rust-lang/rfcs/blob/master/text/2945-c-unwind-abi.md
[2]: https://rust-lang.zulipchat.com/#narrow/stream/210922-project-ffi-unwind/topic/Is.20unwinding.20through.20extern.20C.20UB.3F/near/230112325
[3]: https://github.com/rust-lang/rust/pull/76570/files#diff-b0320c2b8868f325d83c027fc5d71732636e9763551e35895488f30fe057c6e9L2599-R2617
Diffstat (limited to 'compiler/rustc_codegen_llvm/src')
0 files changed, 0 insertions, 0 deletions
