1#![no_std]
2#![cfg_attr(docsrs, feature(doc_cfg))]
3
4#![doc = document_features::document_features!()]
8
9#[cfg(feature = "extension")]
10#[cfg_attr(docsrs, doc(cfg(feature = "extension")))]
11mod extension;
12
13#[cfg(feature = "extension")]
14#[cfg_attr(docsrs, doc(cfg(feature = "extension")))]
15pub use extension::*;
16
17unsafe extern "C" {
18 pub fn TCMallocInternalNewAlignedNothrowBridge(
25 size: libc::size_t,
26 alignment: libc::size_t,
27 ) -> *mut core::ffi::c_void;
28
29 pub fn TCMallocInternalDeleteSizedAligned(
35 ptr: *mut core::ffi::c_void,
36 size: libc::size_t,
37 alignment: libc::size_t,
38 );
39}
40
41#[cfg(test)]
42mod tests {
43 use super::*;
44
45 #[test]
46 fn it_frees_memory_malloc() {
47 let ptr = unsafe { TCMallocInternalNewAlignedNothrowBridge(8, 16) } as *mut u8;
48 unsafe { TCMallocInternalDeleteSizedAligned(ptr as *mut libc::c_void, 8, 16) };
49 }
50}