/* { dg-do run } */

#include <omp.h>
#include <assert.h>

/* Test tasks with detach clause.  Each thread spawns off a chain of tasks,
   that can then be executed by any available thread.  */

int main (void)
{
  int x = 0, y = 0, z = 0;
  int thread_count;
  omp_event_handle_t detach_event1, detach_event2;

  #pragma omp parallel private (detach_event1, detach_event2)
  {
    #pragma omp single
      thread_count = omp_get_num_threads ();

    #pragma omp task detach (detach_event1) untied
      #pragma omp atomic update
	x++;

    #pragma omp task detach (detach_event2) untied
    {
      #pragma omp atomic update
	y++;
      omp_fulfill_event (detach_event1);
    }

    #pragma omp task untied
    {
      #pragma omp atomic update
	z++;
      omp_fulfill_event (detach_event2);
    }
  }

  assert (x == thread_count);
  assert (y == thread_count);
  assert (z == thread_count);
}
