summaryrefslogtreecommitdiffstats
path: root/compiler/rustc_codegen_gcc/example/mini_core.rs
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/rustc_codegen_gcc/example/mini_core.rs')
-rw-r--r--compiler/rustc_codegen_gcc/example/mini_core.rs11
1 files changed, 10 insertions, 1 deletions
diff --git a/compiler/rustc_codegen_gcc/example/mini_core.rs b/compiler/rustc_codegen_gcc/example/mini_core.rs
index 0cd7e6047..343285203 100644
--- a/compiler/rustc_codegen_gcc/example/mini_core.rs
+++ b/compiler/rustc_codegen_gcc/example/mini_core.rs
@@ -4,7 +4,7 @@
thread_local
)]
#![no_core]
-#![allow(dead_code)]
+#![allow(dead_code, internal_features)]
#[no_mangle]
unsafe extern "C" fn _Unwind_Resume() {
@@ -429,6 +429,15 @@ fn panic_cannot_unwind() -> ! {
}
}
+#[lang = "panic_in_cleanup"]
+#[rustc_nounwind]
+fn panic_in_cleanup() -> ! {
+ unsafe {
+ libc::printf("panic in a destructor during cleanup\n\0" as *const str as *const i8);
+ intrinsics::abort();
+ }
+}
+
#[lang = "panic_bounds_check"]
#[track_caller]
fn panic_bounds_check(index: usize, len: usize) -> ! {