1  /* { dg-do run } */
       2  
       3  extern void abort (void);
       4  
       5  int
       6  main (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  }