From dc7f5864900b14ae7094a7fe05f6e4fc42f99527 Mon Sep 17 00:00:00 2001
From: Michael Kuron <mkuron@icp.uni-stuttgart.de>
Date: Fri, 19 Feb 2021 14:26:52 +0100
Subject: [PATCH] fix usage of posix_memalign

---
 pystencils/backends/cbackend.py | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/pystencils/backends/cbackend.py b/pystencils/backends/cbackend.py
index 86467c4ea..9603d6d23 100644
--- a/pystencils/backends/cbackend.py
+++ b/pystencils/backends/cbackend.py
@@ -282,13 +282,14 @@ class CBackend:
         np_dtype = node.symbol.dtype.base_type.numpy_dtype
         required_size = np_dtype.itemsize * node.size + align
         size = modulo_ceil(required_size, align)
-        code = "#if __cplusplus >= 201703L\n"
+        code = "#if __cplusplus >= 201703L || __STDC_VERSION__ >= 201112L\n"
         code += "{dtype} {name}=({dtype})aligned_alloc({align}, {size}) + {offset};\n"
         code += "#elif defined(_MSC_VER)\n"
         code += "{dtype} {name}=({dtype})_aligned_malloc({size}, {align}) + {offset};\n"
         code += "#else\n"
         code += "{dtype} {name};\n"
-        code += "posix_memalign(&{name}, {align}, {size}) + {offset};\n"
+        code += "posix_memalign((void**) &{name}, {align}, {size});\n"
+        code += "{name} += {offset};\n"
         code += "#endif"
         return code.format(dtype=node.symbol.dtype,
                            name=self.sympy_printer.doprint(node.symbol.name),
-- 
GitLab