const int n = 100; // Check async over parallel construct with reduction int async_sum (int c) { int s = 0; #pragma acc parallel loop num_gangs (10) gang reduction (+:s) async for (int i = 0; i < n; i++) s += i+c; #pragma acc wait return s; } int main() { int result = 0; for (int i = 0; i < n; i++) result += i+1; if (async_sum (1) != result) __builtin_abort (); return 0; }