1234567891011121314151617181920212223242526272829303132 |
- /* PR middle-end/49897 */
- /* { dg-do run } */
- extern void abort (void);
- int
- main ()
- {
- int i, j, x = 0, y, sum = 0;
- #pragma omp parallel reduction(+:sum)
- {
- #pragma omp for firstprivate(x) lastprivate(x, y)
- for (i = 0; i < 10; i++)
- {
- x = i;
- y = 0;
- #pragma omp parallel reduction(+:sum)
- {
- #pragma omp for firstprivate(y) lastprivate(y)
- for (j = 0; j < 10; j++)
- {
- y = j;
- sum += y;
- }
- }
- }
- }
- if (x != 9 || y != 9 || sum != 450)
- abort ();
- return 0;
- }
|