1 /* Exercise acc_create, acc_is_present and acc_delete. */
2
3 /* { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } */
4
5 #include <stdlib.h>
6 #include <openacc.h>
7
8 int
9 main (int argc, char **argv)
10 {
11 const int N = 256;
12 int i;
13 unsigned char *h;
14 void *d;
15
16 h = (unsigned char *) malloc (N);
17
18 d = acc_create (h, N);
19 if (!d)
20 abort ();
21
22 for (i = 0; i < N; i++)
23 {
24 if (acc_is_present (h + i, 1) != 1)
25 abort ();
26 }
27
28 acc_delete (h, N);
29
30 for (i = 0; i < N; i++)
31 {
32 if (acc_is_present (h + i, 1) != 0)
33 abort ();
34 }
35
36 d = acc_create (h, N);
37 if (!d)
38 abort ();
39
40 for (i = 0; i < N; i++)
41 {
42 if (acc_is_present (h + i, 1) != 1)
43 abort ();
44 }
45
46 acc_delete (h, N);
47
48 for (i = 0; i < N; i++)
49 {
50 if (acc_is_present (h + i, 1) != 0)
51 abort ();
52 }
53
54 free (h);
55
56 return 0;
57 }