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 <i...@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(+) 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> +#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); -- 2.24.3 (Apple Git-128)