1 /* { dg-require-effective-target size32plus } */
3 extern void abort (void);
4 int r
, a
[1024], b
[1024];
6 __attribute__((noipa
)) void
9 #pragma omp for reduction (inscan, +:r)
10 for (int i
= 0; i
< 1024; i
++)
13 #pragma omp scan exclusive(r)
18 __attribute__((noipa
)) int
23 #pragma omp for reduction (inscan, +:s)
24 for (int i
= 0; i
< 1024; i
++)
27 #pragma omp scan exclusive(s)
33 __attribute__((noipa
)) void
36 #pragma omp parallel for reduction (inscan, +:r)
37 for (int i
= 0; i
< 1024; i
++)
40 #pragma omp scan exclusive(r)
45 __attribute__((noipa
)) int
49 #pragma omp parallel for reduction (inscan, +:s)
50 for (int i
= 0; i
< 1024; i
++)
53 #pragma omp scan exclusive(s)
63 for (int i
= 0; i
< 1024; ++i
)
71 if (r
!= 1024 * 1023 / 2)
73 for (int i
= 0; i
< 1024; ++i
)
81 if (bar () != 1024 * 1023)
84 for (int i
= 0; i
< 1024; ++i
)
94 if (r
!= 1024 * 1023 / 2)
97 for (int i
= 0; i
< 1024; ++i
)
105 if (qux () != 1024 * 1023)
108 for (int i
= 0; i
< 1024; ++i
)