comparison libgomp/testsuite/libgomp.c/target-14.c @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children
comparison
equal deleted inserted replaced
68:561a7518be6b 111:04ced10e8804
1 #include <omp.h>
2 #include <stdlib.h>
3
4 int
5 main ()
6 {
7 int d = omp_get_default_device ();
8 int id = omp_get_initial_device ();
9 int err;
10 void *p;
11
12 if (d < 0 || d >= omp_get_num_devices ())
13 d = id;
14
15 p = omp_target_alloc (128 * sizeof (int), d);
16 if (p == NULL)
17 return 0;
18
19 #pragma omp target is_device_ptr (p) if (d >= 0) device (d >= 0 ? d : 0)
20 {
21 int i, *q = (int *) p;
22 for (i = 0; i < 128; i++)
23 q[i] = i + 7;
24 }
25 #pragma omp target is_device_ptr (p) if (d >= 0) device (d >= 0 ? d : 0) map(from:err)
26 {
27 int i;
28 err = 0;
29 for (i = 0; i < 128; i++)
30 if (((int *) p)[i] != i + 7)
31 err = 1;
32 }
33 if (err)
34 abort ();
35
36 omp_target_free (p, d);
37 return 0;
38 }