summaryrefslogtreecommitdiffstats
path: root/src/Buffer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Buffer.cpp')
-rw-r--r--src/Buffer.cpp12
1 files changed, 4 insertions, 8 deletions
diff --git a/src/Buffer.cpp b/src/Buffer.cpp
index 8631c42..6b14561 100644
--- a/src/Buffer.cpp
+++ b/src/Buffer.cpp
@@ -30,13 +30,6 @@
#include <stdlib.h>
#include <string.h>
-#include <malloc.h>
-#if HAVE_DECL__MM_MALLOC
-# include <mm_malloc.h>
-#else
-# define memalign(a, b) malloc(b)
-#endif
-
Buffer::Buffer(size_t len, const void *data)
@@ -92,7 +85,10 @@ void Buffer::setLength(size_t len)
void *tmp = data;
/* Align to 32-byte boundary for AVX. */
- data = memalign(32, len);
+ const int ret = posix_memalign(&data, 32, len);
+ if (ret != 0) {
+ throw std::runtime_error("memory allocation failed: " + std::to_string(ret));
+ }
if (tmp != NULL) {
memcpy(data, tmp, this->len);