[pushed] testsuite, Darwin : Fix tsvc test build on Darwin.

Iain Sandoe iains.gcc@gmail.com
Fri Nov 5 21:08:59 GMT 2021

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.

Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>


	* 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(+)

diff --git a/gcc/testsuite/gcc.dg/vect/tsvc/tsvc.h b/gcc/testsuite/gcc.dg/vect/tsvc/tsvc.h
index b52108dae9f..5dd9ca91040 100644
--- a/gcc/testsuite/gcc.dg/vect/tsvc/tsvc.h
+++ b/gcc/testsuite/gcc.dg/vect/tsvc/tsvc.h
@@ -11,7 +11,9 @@
 #include <stdio.h>
 #include <stdlib.h>
+#ifndef __APPLE__
 #include <malloc.h>
 #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));
+    posix_memalign ((void*)&xx, ARRAY_ALIGNMENT, LEN_1D*sizeof(real_t));
+    posix_memalign ((void*)ip, ARRAY_ALIGNMENT, LEN_1D*sizeof(real_t));
     for (int i = 0; i < LEN_1D; i = i+5){
         (*ip)[i]   = (i+4);
2.24.3 (Apple Git-128)

More information about the Gcc-patches mailing list