rust/tests/run-make/forced-unwind-terminate-pof/foo.rs

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

18 lines
428 B
Rust
Raw Normal View History

// Tests that forced unwind through POF Rust frames wouldn't trigger our terminating guards.
#![feature(c_unwind)]
#![no_main]
extern "C-unwind" {
fn pthread_exit(v: *mut core::ffi::c_void) -> !;
}
unsafe extern "C" fn call_pthread_exit() {
pthread_exit(core::ptr::null_mut());
}
#[no_mangle]
unsafe extern "C-unwind" fn main(_argc: core::ffi::c_int, _argv: *mut *mut core::ffi::c_char) {
call_pthread_exit();
}