1 /* { dg-do run } */ 2 /* { dg-additional-options "-ftree-parallelize-loops=2" } */ 3 4 void abort (void); 5 6 unsigned int g_sum = 1; 7 8 unsigned int x[500][500]; 9 10 void __attribute__((noinline,noclone)) parloop(int N)11parloop (int N) 12 { 13 int i, j; 14 unsigned int sum; 15 16 /* Double reduction is detected, outer loop is parallelized. */ 17 sum = 0; 18 for (i = 0; i < N; i++) 19 for (j = 0; j < N; j++) 20 sum += x[i][j]; 21 22 g_sum = sum; 23 } 24 25 int main(void)26main (void) 27 { 28 x[234][432] = 2; 29 30 parloop (500); 31 32 if (g_sum != 2) 33 abort (); 34 35 return 0; 36 } 37