Merged revisions 143552,143554,143557,143560,143562,143564-143567,143570-143573,14357...
[official-gcc.git] / libgomp / testsuite / libgomp.c / pr39154.c
blob5a4c89e13eb537d70bdcbb7af52c46f191cbb197
1 /* PR middle-end/39154 */
2 /* { dg-do compile } */
3 /* { dg-options "-O2 -std=gnu99" } */
5 extern void abort (void);
7 int n = 20;
9 int
10 main (void)
12 int a[n], b[n][n];
14 #pragma omp parallel for
15 for (int i = 0; i < n; i++)
17 a[i] = i + 1;
18 #pragma omp parallel for
19 for (int j = 0; j < n; j++)
20 b[i][j] = a[i];
23 for (int i = 0; i < n; i++)
25 for (int j = 0; j < n; j++)
26 if (b[i][j] != i + 1)
27 abort ();
28 if (a[i] != i + 1)
29 abort ();
32 #pragma omp parallel for shared (n, a, b)
33 for (int i = 0; i < n; i++)
35 a[i] = i + 3;
36 #pragma omp parallel for
37 for (int j = 0; j < n; j++)
38 b[i][j] = a[i];
41 for (int i = 0; i < n; i++)
43 for (int j = 0; j < n; j++)
44 if (b[i][j] != i + 3)
45 abort ();
46 if (a[i] != i + 3)
47 abort ();
50 #pragma omp parallel for
51 for (int i = 0; i < n; i++)
53 a[i] = i + 5;
54 #pragma omp parallel for shared (n, a, b)
55 for (int j = 0; j < n; j++)
56 b[i][j] = a[i];
59 for (int i = 0; i < n; i++)
61 for (int j = 0; j < n; j++)
62 if (b[i][j] != i + 5)
63 abort ();
64 if (a[i] != i + 5)
65 abort ();
68 #pragma omp parallel for shared (n, a, b)
69 for (int i = 0; i < n; i++)
71 a[i] = i + 7;
72 #pragma omp parallel for shared (n, a, b)
73 for (int j = 0; j < n; j++)
74 b[i][j] = a[i];
77 for (int i = 0; i < n; i++)
79 for (int j = 0; j < n; j++)
80 if (b[i][j] != i + 7)
81 abort ();
82 if (a[i] != i + 7)
83 abort ();
86 #pragma omp parallel for private (a, b)
87 for (int i = 0; i < n; i++)
89 a[i] = i + 1;
90 #pragma omp parallel for
91 for (int j = 0; j < n; j++)
92 b[i][j] = a[i];
95 #pragma omp parallel for private (a, b)
96 for (int i = 0; i < n; i++)
98 a[i] = i + 1;
99 #pragma omp parallel for private (b)
100 for (int j = 0; j < n; j++)
101 b[i][j] = a[i];
104 return 0;