testsuite, Darwin : Fix tsvc test build on Darwin.

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 ().
This commit is contained in:
Iain Sandoe 2021-11-05 19:19:53 +00:00
parent f1e2879ecf
commit 8f4860f956
1 changed files with 7 additions and 0 deletions

View 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);