PR c/81417
[official-gcc.git] / libgomp / testsuite / libgomp.oacc-c-c++-common / lib-60.c
blobccae728e3dc165840d373569224936857dd1e129
1 /* { dg-do run } */
2 /* { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } */
4 #include <string.h>
5 #include <stdlib.h>
6 #include <openacc.h>
8 int
9 main (int argc, char **argv)
11 const int N = 256;
12 int i;
13 unsigned char *h;
14 void *d;
16 h = (unsigned char *) malloc (N);
18 for (i = 0; i < N; i++)
20 h[i] = i;
23 d = acc_malloc (N);
25 acc_memcpy_to_device (d, h, N);
27 for (i = 0; i < N; i++)
29 if (acc_is_present (h + i, 1) != 0)
30 abort ();
33 memset (&h[0], 0, N);
35 acc_memcpy_from_device (h, d, N);
37 for (i = 0; i < N; i++)
39 if (h[i] != i)
40 abort ();
43 for (i = 0; i < N; i++)
45 if (acc_is_present (h + i, 1) != 0)
46 abort ();
49 acc_free (d);
51 free (h);
53 return 0;