pr81687-2.c 443 B

123456789101112131415161718192021222324252627
  1. /* PR c/81687 */
  2. /* { dg-do link } */
  3. /* { dg-additional-options "-O2" } */
  4. int
  5. main ()
  6. {
  7. __label__ lab4, lab5, lab6;
  8. volatile int l = 0;
  9. int m = l;
  10. void foo (int x) { if (x == 1) goto lab4; }
  11. void bar (int x) { if (x == 2) goto lab5; }
  12. void baz (int x) { if (x == 3) goto lab6; }
  13. #pragma omp parallel
  14. {
  15. foo (m + 1);
  16. lab4:;
  17. }
  18. #pragma omp task
  19. {
  20. bar (m + 2);
  21. lab5:;
  22. }
  23. baz (m + 3);
  24. lab6:;
  25. return 0;
  26. }