/gcc/testsuite/gcc.dg/gomp/pr29965-4.c

https://gitlab.com/sortix/gcc · C · 44 lines · 35 code · 5 blank · 4 comment · 10 complexity · 8e42dd5f80e8bc2ea521bfc0f4632d64 MD5 · raw file

  1. /* PR middle-end/29965 */
  2. /* Test that OpenMP construct bodies which never return don't cause ICEs. */
  3. /* { dg-do compile } */
  4. /* { dg-options "-O2 -fopenmp" } */
  5. extern void baz (void) __attribute__ ((noreturn));
  6. void
  7. foo1 (void)
  8. {
  9. int i;
  10. #pragma omp for schedule (dynamic)
  11. for (i = 0; i < 2834; i++)
  12. for (;;)
  13. ;
  14. }
  15. void
  16. bar1 (void)
  17. {
  18. int i;
  19. #pragma omp for schedule (dynamic)
  20. for (i = 0; i < 2834; i++)
  21. baz ();
  22. }
  23. void
  24. foo2 (void)
  25. {
  26. int i;
  27. #pragma omp parallel for schedule (dynamic)
  28. for (i = 0; i < 2834; i++)
  29. for (;;)
  30. ;
  31. }
  32. void
  33. bar2 (void)
  34. {
  35. int i;
  36. #pragma omp parallel for schedule (dynamic)
  37. for (i = 0; i < 2834; i++)
  38. baz ();
  39. }