1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
/* PR middle-end/91920 */ void bar (float *); void foo (void) { int i; float f[3] = { 0.0f, 0.0f, 0.0f }; #pragma omp parallel for default(none) reduction(+:f[:3]) for (i = 0; i < 1000; i++) { int j; float k[3] = { 0.25f, 0.5f, 0.75f }; for (j = 0; j < 3; j++) f[j] += k[j]; } bar (f); }