Rustup to rustc 1.79.0-nightly (aa067fb98 2024-04-10)
This commit is contained in:
parent
c183c6194e
commit
8a5eecc897
@ -1,3 +1,3 @@
|
||||
[toolchain]
|
||||
channel = "nightly-2024-04-05"
|
||||
channel = "nightly-2024-04-11"
|
||||
components = ["rust-src", "rustc-dev", "llvm-tools"]
|
||||
|
11
src/base.rs
11
src/base.rs
@ -267,10 +267,19 @@ fn codegen_fn_body(fx: &mut FunctionCx<'_, '_, '_>, start_block: Block) {
|
||||
.generic_activity("codegen prelude")
|
||||
.run(|| crate::abi::codegen_fn_prelude(fx, start_block));
|
||||
|
||||
for (bb, bb_data) in traversal::mono_reachable(fx.mir, fx.tcx, fx.instance) {
|
||||
let reachable_blocks = traversal::mono_reachable_as_bitset(fx.mir, fx.tcx, fx.instance);
|
||||
|
||||
for (bb, bb_data) in fx.mir.basic_blocks.iter_enumerated() {
|
||||
let block = fx.get_block(bb);
|
||||
fx.bcx.switch_to_block(block);
|
||||
|
||||
if !reachable_blocks.contains(bb) {
|
||||
// We want to skip this block, because it's not reachable. But we still create
|
||||
// the block so terminators in other blocks can reference it.
|
||||
fx.bcx.ins().trap(TrapCode::UnreachableCodeReached);
|
||||
continue;
|
||||
}
|
||||
|
||||
if bb_data.is_cleanup {
|
||||
// Unwinding after panicking is not supported
|
||||
continue;
|
||||
|
Loading…
x
Reference in New Issue
Block a user