Daily bump.
[official-gcc.git] / libgomp / testsuite / libgomp.c / target-14.c
blob17d383407a2d728999aba538485581d3c433a008
1 #include <omp.h>
2 #include <stdlib.h>
4 int
5 main ()
7 int d = omp_get_default_device ();
8 int id = omp_get_initial_device ();
9 int err;
10 void *p;
12 if (d < 0 || d >= omp_get_num_devices ())
13 d = id;
15 p = omp_target_alloc (128 * sizeof (int), d);
16 if (p == NULL)
17 return 0;
19 #pragma omp target is_device_ptr (p) if (d >= 0) device (d >= 0 ? d : 0)
21 int i, *q = (int *) p;
22 for (i = 0; i < 128; i++)
23 q[i] = i + 7;
25 #pragma omp target is_device_ptr (p) if (d >= 0) device (d >= 0 ? d : 0) map(from:err)
27 int i;
28 err = 0;
29 for (i = 0; i < 128; i++)
30 if (((int *) p)[i] != i + 7)
31 err = 1;
33 if (err)
34 abort ();
36 omp_target_free (p, d);
37 return 0;