Handle double reduction in parloops
[official-gcc.git] / libgomp / testsuite / libgomp.c / uns-outer-4.c
blobcd646a54133ae7ac983eb912cdbea99d8f0efde9
1 /* { dg-do run } */
2 /* { dg-additional-options "-ftree-parallelize-loops=2" } */
4 void abort (void);
6 unsigned int g_sum = 1;
8 unsigned int x[500][500];
10 void __attribute__((noinline,noclone))
11 parloop (int N)
13 int i, j;
14 unsigned int sum;
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];
22 g_sum = sum;
25 int
26 main (void)
28 x[234][432] = 2;
30 parloop (500);
32 if (g_sum != 2)
33 abort ();
35 return 0;