task-detach-12.c 343 B

12345678910111213141516171819
  1. /* { dg-do run } */
  2. /* { dg-options "-fopenmp" } */
  3. #include <omp.h>
  4. int
  5. main ()
  6. {
  7. struct S { int a[7]; } s = { { 1, 2, 3, 4, 5, 6, 7 } };
  8. omp_event_handle_t x;
  9. #pragma omp parallel master
  10. #pragma omp task firstprivate (s) detach (x)
  11. {
  12. if (s.a[3] != 4)
  13. __builtin_abort ();
  14. omp_fulfill_event (x);
  15. }
  16. return 0;
  17. }