Set num_threads to 50 on 32-bit hppa in two libgomp loop tests
[official-gcc.git] / libgomp / testsuite / libgomp.oacc-c-c++-common / no_create-5.c
blob6f0ace501cf62fcdcc9a929e868d279b9a675e1a
1 /* Test 'no_create' clause on 'data' construct and nested compute construct,
2 with data not present on the device. */
4 #include <stdlib.h>
5 #include <stdio.h>
6 #include <openacc.h>
8 #define N 128
10 int
11 main (int argc, char *argv[])
13 int var;
14 int *arr = (int *) malloc (N * sizeof (*arr));
15 int *devptr[2];
17 #pragma acc data no_create(var, arr[0:N])
19 devptr[0] = (int *) acc_deviceptr (&var);
20 devptr[1] = (int *) acc_deviceptr (&arr[2]);
22 #if ACC_MEM_SHARED
23 if (devptr[0] == NULL)
24 __builtin_abort ();
25 if (devptr[1] == NULL)
26 __builtin_abort ();
27 #else
28 if (devptr[0] != NULL)
29 __builtin_abort ();
30 if (devptr[1] != NULL)
31 __builtin_abort ();
32 #endif
34 #pragma acc parallel copyout(devptr) // TODO implicit 'copy(var)' -- huh?!
36 devptr[0] = &var;
37 devptr[1] = &arr[2];
40 if (devptr[0] != &var)
41 __builtin_abort (); // { dg-xfail-run-if "TODO" { *-*-* } { "-DACC_MEM_SHARED=0" } }
42 if (devptr[1] != &arr[2])
43 __builtin_abort ();
46 free (arr);
48 return 0;