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