testsuite, Darwin : Fix tsvc test build on Darwin.
authorIain Sandoe <iain@sandoe.co.uk>
Fri, 5 Nov 2021 19:19:53 +0000 (19:19 +0000)
committerIain Sandoe <iain@sandoe.co.uk>
Fri, 5 Nov 2021 21:06:36 +0000 (21:06 +0000)
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.

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

index b52108d..5dd9ca9 100644 (file)
@@ -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);