Skip various cmp-mem-const tests on lp64 hppa*-*-*
[official-gcc.git] / libgomp / testsuite / libgomp.c-c++-common / get-mapped-ptr-1.c
blob4708ae86bfe45bf58c06677a1dd6c7383a3bd86f
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 x;
10 void *p, *q;
12 q = (void *) &x;
14 if (d < 0 || d >= omp_get_num_devices ())
15 d = id;
17 p = omp_target_alloc (sizeof (int), d);
18 if (p == NULL)
19 return 0;
21 if (omp_target_associate_ptr (q, p, sizeof (int), 0, d) != 0)
22 return 0;
24 if (omp_get_mapped_ptr (q, -5) != NULL)
25 abort ();
27 if (omp_get_mapped_ptr (q, omp_get_num_devices () + 1) != NULL)
28 abort ();
30 if (omp_get_mapped_ptr (q, id) != q)
31 abort ();
33 if (omp_get_mapped_ptr (q, omp_initial_device) != q)
34 abort ();
36 if (omp_get_mapped_ptr (q, d) != p)
37 abort ();
39 if (omp_target_disassociate_ptr (q, d) != 0)
40 abort ();
42 if (omp_get_mapped_ptr (q, d) != NULL)
43 abort ();
45 omp_target_free (p, d);
46 return 0;