1 /* { dg-do run } */
2
3 /* Test reductions on explicitly private variables. */
4
5 #include <assert.h>
6
7 int
8 main ()
9 {
10 int i, j, red[10];
11 int v;
12
13 for (i = 0; i < 10; i++)
14 red[i] = -1;
15
16 #pragma acc parallel copyout(red)
17 {
18 #pragma acc loop gang private(v)
19 for (j = 0; j < 10; j++)
20 {
21 v = j;
22
23 #pragma acc loop vector reduction (+:v)
24 for (i = 0; i < 100; i++)
25 v++;
26
27 red[j] = v;
28 }
29 }
30
31 for (i = 0; i < 10; i++)
32 assert (red[i] == i + 100);
33
34 return 0;
35 }