Adjust formatting of acc_get_property tests
[gcc.git] / libgomp / testsuite / libgomp.oacc-c-c++-common / kernels-loop-clauses.c
1 /* Exercise the auto, independent, seq and tile loop clauses inside
2 kernels regions. */
3
4 #include <assert.h>
5
6 #define N 100
7
8 void
9 check (int *a, int *b)
10 {
11 int i;
12
13 for (i = 0; i < N; i++)
14 assert (a[i] == b[i]);
15 }
16
17 int
18 main ()
19 {
20 int i, a[N], b[N];
21
22 #pragma acc kernels copy(a)
23 {
24 #pragma acc loop auto
25 for (i = 0; i < N; i++)
26 a[i] = i;
27 }
28
29 for (i = 0; i < N; i++)
30 b[i] = i;
31
32 check (a, b);
33
34 #pragma acc kernels copyout(a)
35 {
36 #pragma acc loop independent
37 for (i = 0; i < N; i++)
38 a[i] = i;
39 }
40
41 check (a, b);
42
43 #pragma acc kernels present_or_copy(a)
44 {
45 #pragma acc loop seq
46 for (i = 0; i < N; i++)
47 a[i] = i;
48 }
49
50 check (a, b);
51
52 #pragma acc kernels pcopyout(a) present_or_copyin(b)
53 {
54 #pragma acc loop seq
55 for (i = 0; i < N; i++)
56 a[i] = b[i];
57 }
58
59 check (a, b);
60
61 return 0;
62 }