diff options
Diffstat (limited to 'openmp/runtime/src/kmp_stub.c')
-rw-r--r-- | openmp/runtime/src/kmp_stub.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/openmp/runtime/src/kmp_stub.c b/openmp/runtime/src/kmp_stub.c index 1e0953a0fcd..429253d3b1a 100644 --- a/openmp/runtime/src/kmp_stub.c +++ b/openmp/runtime/src/kmp_stub.c @@ -42,6 +42,7 @@ #define kmp_set_library kmpc_set_library #define kmp_set_defaults kmpc_set_defaults #define kmp_malloc kmpc_malloc +#define kmp_aligned_malloc kmpc_aligned_malloc #define kmp_calloc kmpc_calloc #define kmp_realloc kmpc_realloc #define kmp_free kmpc_free @@ -102,6 +103,17 @@ void kmp_set_defaults( char const * str ) { i; } /* KMP memory management functions. */ void * kmp_malloc( size_t size ) { i; return malloc( size ); } +void * kmp_aligned_malloc( size_t sz, size_t a ) { + i; +#if KMP_OS_WINDOWS + errno = ENOSYS; // not supported + return NULL; // no standard aligned allocator on Windows (pre - C11) +#else + void **res; + errno = posix_memalign( res, a, sz ); + return *res; +#endif +} void * kmp_calloc( size_t nelem, size_t elsize ) { i; return calloc( nelem, elsize ); } void * kmp_realloc( void *ptr, size_t size ) { i; return realloc( ptr, size ); } void kmp_free( void * ptr ) { i; free( ptr ); } |