Switch to posix_memalign when available

It is easier to defer to the runtime for aligned allocations. We found the preprocessor macros needed to identitify the availability. Also see https://forum.kde.org/viewtopic.php?p=66274
pull/580/merge
Jeffrey Walton 2018-01-30 21:05:55 -05:00
parent e21f882f50
commit 22e783a378
No known key found for this signature in database
GPG Key ID: B36AB348921B1838
1 changed files with 3 additions and 2 deletions

View File

@ -690,12 +690,13 @@ NAMESPACE_END
#define CRYPTOPP_BOOL_ALIGN16 0 #define CRYPTOPP_BOOL_ALIGN16 0
#endif #endif
// how to allocate 16-byte aligned memory (for SSE2) // How to allocate 16-byte aligned memory (for SSE2)
// posix_memalign see https://forum.kde.org/viewtopic.php?p=66274
#if defined(_MSC_VER) #if defined(_MSC_VER)
#define CRYPTOPP_MM_MALLOC_AVAILABLE #define CRYPTOPP_MM_MALLOC_AVAILABLE
#elif defined(__APPLE__) #elif defined(__APPLE__)
#define CRYPTOPP_APPLE_MALLOC_AVAILABLE #define CRYPTOPP_APPLE_MALLOC_AVAILABLE
#elif defined(_AIX) || defined(__FreeBSD__) #elif defined(_GNU_SOURCE) || ((_XOPEN_SOURCE + 0) >= 600) || defined(_AIX)
#define CRYPTOPP_POSIX_MEMALIGN_AVAILABLE #define CRYPTOPP_POSIX_MEMALIGN_AVAILABLE
#elif defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) #elif defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__)
#define CRYPTOPP_MALLOC_ALIGNMENT_IS_16 #define CRYPTOPP_MALLOC_ALIGNMENT_IS_16