https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104252
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Note the C/C++ front-end do support this though: int main(void) { const int n = 3; int a[n]={}; int i, j, s, t; for (i = 0; i < n ; i++) { t = 0; #pragma omp parallel for reduction(+:a[i]) for(j = 0; j < n; j++) a[i]++; } s = 0; for(int t = 0; t < n; t++) s += a[t]; __builtin_printf("%d\n", s); }