Improve atomic store implementation on hppa-linux.
[official-gcc.git] / libgomp / testsuite / libgomp.oacc-c-c++-common / lib-13.c
blob90b137fb20ba3f890e904cf1d661a72aa1f9b9e0
1 /* Check acc_is_present and acc_delete. */
3 /* { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } */
5 #include <stdlib.h>
6 #include <openacc.h>
8 #include <stdio.h>
10 int
11 main (int argc, char **argv)
13 const int N = 256;
14 int i;
15 unsigned char *h;
16 void *d;
18 h = (unsigned char *) malloc (N);
20 for (i = 0; i < N; i++)
22 h[i] = i;
25 d = acc_copyin (h, N);
27 if (acc_is_present (h, 1) != 1)
28 abort ();
30 if (acc_is_present (h, N + 1) != 0)
31 abort ();
33 if (acc_is_present (h + 1, N) != 0)
34 abort ();
36 if (acc_is_present (h - 1, N) != 0)
37 abort ();
39 if (acc_is_present (h - 1, N - 1) != 0)
40 abort ();
42 if (acc_is_present (h + N, 0) != 0)
43 abort ();
45 if (acc_is_present (h + N, N) != 0)
46 abort ();
48 if (acc_is_present (0, N) != 0)
49 abort ();
51 if (acc_is_present (h, 0) != 0)
52 abort ();
54 acc_delete (h, N);
56 if (acc_is_present (h, 1) != 0)
57 abort ();
59 free (h);
61 return 0;