From 0a5dac3062ffc80a283943e49e2ada08f0b0eaf7 Mon Sep 17 00:00:00 2001 From: Gary Guo Date: Mon, 10 Oct 2022 22:40:40 +0100 Subject: Add `UnwindAction::Terminate` --- compiler/rustc_monomorphize/src/collector.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'compiler/rustc_monomorphize/src') diff --git a/compiler/rustc_monomorphize/src/collector.rs b/compiler/rustc_monomorphize/src/collector.rs index f41edff8513..05253bb65ac 100644 --- a/compiler/rustc_monomorphize/src/collector.rs +++ b/compiler/rustc_monomorphize/src/collector.rs @@ -872,6 +872,16 @@ impl<'a, 'tcx> MirVisitor<'tcx> for MirNeighborCollector<'a, 'tcx> { | mir::TerminatorKind::FalseUnwind { .. } => bug!(), } + if let Some(mir::UnwindAction::Terminate) = terminator.unwind() { + let instance = Instance::mono( + tcx, + tcx.require_lang_item(LangItem::PanicCannotUnwind, Some(source)), + ); + if should_codegen_locally(tcx, &instance) { + self.output.push(create_fn_mono_item(tcx, instance, source)); + } + } + self.super_terminator(terminator, location); } -- cgit 1.4.1-3-g733a5