| /* { dg-do run } */ | |
| #include <stdlib.h> | |
| #include <omp.h> | |
| int | |
| main (void) | |
| { | |
| int i, j, k, l = 0, f = 0; | |
| int m1 = 4, m2 = -5, m3 = 17; | |
| #pragma omp parallel for num_threads (8) collapse(3) \ | |
| schedule(static, 9) reduction(+:l) \ | |
| firstprivate(f) | |
| for (i = -2; i < m1; i++) | |
| for (j = m2; j < -2; j++) | |
| { | |
| for (k = 13; k < m3; k++) | |
| { | |
| if (omp_get_num_threads () == 8 | |
| && ((i + 2) * 12 + (j + 5) * 4 + (k - 13) | |
| != (omp_get_thread_num () * 9 | |
| + f++))) | |
| l++; | |
| } | |
| } | |
| if (l) | |
| abort (); | |
| return 0; | |
| } |