1/* { dg-do run } */
2
3extern void abort (void);
4
5int
6main (void)
7{
8  int e = 0;
9#pragma omp parallel num_threads (4) reduction(+:e)
10  {
11    long i;
12    #pragma omp for schedule(dynamic,1)
13    for (i = __LONG_MAX__ - 30001; i <= __LONG_MAX__ - 10001; i += 10000)
14      if (i != __LONG_MAX__ - 30001
15	  && i != __LONG_MAX__ - 20001
16	  && i != __LONG_MAX__ - 10001)
17	e = 1;
18    #pragma omp for schedule(dynamic,1)
19    for (i = -__LONG_MAX__ + 30000; i >= -__LONG_MAX__ + 10000; i -= 10000)
20      if (i != -__LONG_MAX__ + 30000
21	  && i != -__LONG_MAX__ + 20000
22	  && i != -__LONG_MAX__ + 10000)
23	e = 1;
24  }
25  if (e)
26    abort ();
27  return 0;
28}
29