#![no_std]
#![doc = include_str!("../README.md")]
pub use ctor_bare_macros::register_ctor;
#[unsafe(link_section = ".init_array")]
#[used]
static _SECTION_PLACE_HOLDER: [u8; 0] = [];
unsafe extern "C" {
fn __init_array_start();
fn __init_array_end();
}
pub fn call_ctors() {
for ctor_ptr in (__init_array_start as usize..__init_array_end as usize)
.step_by(core::mem::size_of::<*const core::ffi::c_void>())
{
unsafe {
core::mem::transmute::<*const core::ffi::c_void, fn()>(
*(ctor_ptr as *const *const core::ffi::c_void),
)();
}
}
}