7 #ifndef HPP_STDLIBREPLACEMENTS_H 8 #define HPP_STDLIBREPLACEMENTS_H 38 #ifndef HPP_HAVE_ALIGNED_ALLOC 39 static __inline__
void*
40 aligned_alloc (
size_t size,
size_t align)
45 if (align & (align - 1))
56 if (align < 2 *
sizeof (
void *))
57 align = 2 *
sizeof (
void *);
58 malloc_ptr = malloc (size + align);
62 aligned_ptr = (
void *) (((
size_t) malloc_ptr + align)
63 & ~((size_t) (align) - 1));
65 ((
void **) aligned_ptr) [-1] = malloc_ptr;