pr36802-1.c 380 B

12345678910111213141516171819202122232425262728293031323334
  1. /* PR middle-end/36802 */
  2. extern void abort (void);
  3. int
  4. foo (int k)
  5. {
  6. int i = 0;
  7. #pragma omp parallel
  8. #pragma omp single
  9. {
  10. if (!k)
  11. {
  12. int j;
  13. for (j = 0; j < 10; j++)
  14. #pragma omp task
  15. if (j == 4)
  16. i++;
  17. }
  18. else
  19. i++;
  20. }
  21. return i;
  22. }
  23. int
  24. main (void)
  25. {
  26. if (foo (0) != 1)
  27. abort ();
  28. if (foo (1) != 1)
  29. abort ();
  30. return 0;
  31. }