loop-4.c 639 B

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