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