diff options
| author | bors <bors@rust-lang.org> | 2024-03-23 21:11:00 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2024-03-23 21:11:00 +0000 |
| commit | 2f090c30ddd6b3bbe5c81c087579a5166e7c7278 (patch) | |
| tree | 58358a0b814755d3edc5bd842461f12b10d6ec20 /compiler/rustc_codegen_llvm/src | |
| parent | e50ab294714ae706f85948efb17fac3c599ba2d3 (diff) | |
| parent | 61775304200826b412f18fc87218161fb8a0dc5c (diff) | |
| download | rust-2f090c30ddd6b3bbe5c81c087579a5166e7c7278.tar.gz rust-2f090c30ddd6b3bbe5c81c087579a5166e7c7278.zip | |
Auto merge of #122629 - RalfJung:assert-unsafe-precondition, r=saethlin
refactor check_{lang,library}_ub: use a single intrinsic
This enacts the plan I laid out [here](https://github.com/rust-lang/rust/pull/122282#issuecomment-1996917998): use a single intrinsic, called `ub_checks` (in aniticpation of https://github.com/rust-lang/compiler-team/issues/725), that just exposes the value of `debug_assertions` (consistently implemented in both codegen and the interpreter). Put the language vs library UB logic into the library.
This makes it easier to do something like https://github.com/rust-lang/rust/pull/122282 in the future: that just slightly alters the semantics of `ub_checks` (making it more approximating when crates built with different flags are mixed), but it no longer affects whether these checks can happen in Miri or compile-time.
The first commit just moves things around; I don't think these macros and functions belong into `intrinsics.rs` as they are not intrinsics.
r? `@saethlin`
Diffstat (limited to 'compiler/rustc_codegen_llvm/src')
0 files changed, 0 insertions, 0 deletions
