1  /* PR libgomp/104385 */
       2  
       3  #include <unistd.h>
       4  
       5  int
       6  main ()
       7  {
       8    int j = 0;
       9    #pragma omp parallel shared(j) num_threads(2)
      10    {
      11      #pragma omp barrier
      12      #pragma omp master
      13      #pragma omp task shared(j)
      14      {
      15        #pragma omp task depend(out: j) shared(j)
      16        {
      17          usleep (10000);
      18          j = 1;
      19        }
      20  
      21        #pragma omp task depend(inout: j) shared(j)
      22        j += 1;
      23      }
      24    }
      25    return j - 2;
      26  }