Skip various cmp-mem-const tests on lp64 hppa*-*-*
[official-gcc.git] / libgomp / testsuite / libgomp.c-c++-common / reverse-offload-2.c
blob33bd38481bb26956025aac7c4ceac5c37caa1993
1 /* { dg-do run } */
2 /* { dg-additional-options "-foffload-options=nvptx-none=-misa=sm_35" { target { offload_target_nvptx } } } */
4 #pragma omp requires reverse_offload
6 int
7 main ()
9 int A[10];
10 int y;
12 for (int i = 0; i < 10; i++)
13 A[i] = 2*i;
15 y = 42;
17 /* Pointlessly copy to the default device. */
18 #pragma omp target data map(to: A)
20 /* Not enclosed in a target region (= i.e. running on the host); the
21 following is valid - it runs on the current device (= host). */
22 #pragma omp target device ( ancestor:1 ) firstprivate(y) map(to: A)
24 if (y != 42)
25 __builtin_abort ();
26 for (int i = 0; i < 10; i++)
27 if (A[i] != 2*i)
28 __builtin_abort ();
29 for (int i = 0; i < 10; i++)
30 if (A[i] != 2*i)
31 A[i] = 4*i;
32 y = 31;
35 if (y != 42)
36 __builtin_abort ();
37 for (int i = 0; i < 10; i++)
38 if (A[i] != 2*i)
39 __builtin_abort ();
42 if (y != 42)
43 __builtin_abort ();
44 for (int i = 0; i < 10; i++)
45 if (A[i] != 2*i)
46 __builtin_abort ();
48 return 0;