[pushed] testsuite, Darwin : Fix tsvc test build on Darwin.
Commit Message
Currently all the tsvc tests fail to build on Darwin because
they assume that <malloc.h> and memalign() are available.
For Darwin, <stdlib.h> is sufficient to obtain the declarations
for malloc and the port has posix_memalign () but not memalign.
Fixed as below.
tested on x86_64-darwin, pushed to master as trivial/obvious.
thanks,
Iain
Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>
gcc/testsuite/ChangeLog:
* gcc.dg/vect/tsvc/tsvc.h: Do not try to include malloc.h
on Darwin also use posix_memalign ().
---
gcc/testsuite/gcc.dg/vect/tsvc/tsvc.h | 7 +++++++
1 file changed, 7 insertions(+)
Comments
On 11/5/21 22:08, Iain Sandoe wrote:
> |Fixed as below.|
Thank you Iain for the fix.
Martin
@@ -11,7 +11,9 @@
#include <stdio.h>
#include <stdlib.h>
+#ifndef __APPLE__
#include <malloc.h>
+#endif
#include <string.h>
#include <math.h>
@@ -187,8 +189,13 @@ void set_2d_array(real_t arr[LEN_2D][LEN_2D], real_t value, int stride)
}
void init(int** ip, real_t* s1, real_t* s2){
+#ifndef __APPLE__
xx = (real_t*) memalign(ARRAY_ALIGNMENT, LEN_1D*sizeof(real_t));
*ip = (int *) memalign(ARRAY_ALIGNMENT, LEN_1D*sizeof(real_t));
+#else
+ posix_memalign ((void*)&xx, ARRAY_ALIGNMENT, LEN_1D*sizeof(real_t));
+ posix_memalign ((void*)ip, ARRAY_ALIGNMENT, LEN_1D*sizeof(real_t));
+#endif
for (int i = 0; i < LEN_1D; i = i+5){
(*ip)[i] = (i+4);