about summary refs log tree commit diff
path: root/tests/run-make/forced-unwind-terminate-pof/foo.rs
blob: 3a84784621708f681094300d8738eece3f22c216 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// Tests that forced unwind through POF Rust frames wouldn't trigger our terminating guards.

#![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();
}