rust/src/libpanic_unwind/hermit.rs
Mark Rousskov d45ce5aed6 Inline catching panics into std::catch_unwind
This allows LLVM to inline the happy path, such that catching unwinding is
zero-cost when no panic occurs. This also allows us to match the code generated
by C++ try/catch.
2020-03-02 11:43:06 +00:00

23 lines
470 B
Rust

//! Unwinding for *hermit* target.
//!
//! Right now we don't support this, so this is just stubs.
use alloc::boxed::Box;
use core::any::Any;
use core::ptr;
pub type Payload = *mut u8;
pub unsafe fn cleanup(_ptr: *mut u8) -> Box<dyn Any + Send> {
extern "C" {
pub fn __rust_abort() -> !;
}
__rust_abort();
}
pub unsafe fn panic(_data: Box<dyn Any + Send>) -> u32 {
extern "C" {
pub fn __rust_abort() -> !;
}
__rust_abort();
}