(root)/
gcc-13.2.0/
libgomp/
testsuite/
libgomp.c-c++-common/
task-reduction-17.c
       1  /* { dg-do run } */
       2  
       3  #include <omp.h>
       4  #include <stdlib.h>
       5  
       6  int a;
       7  
       8  int
       9  main ()
      10  {
      11    #pragma omp task final (1)
      12    {
      13      if (!omp_in_final ())
      14        abort ();
      15      #pragma omp task
      16      {
      17        if (!omp_in_final ())
      18  	abort ();
      19        #pragma omp taskgroup task_reduction (+: a)
      20        {
      21  	if (!omp_in_final ())
      22  	  abort ();
      23  	#pragma omp task in_reduction (+: a)
      24  	{
      25  	  ++a;
      26  	  if (!omp_in_final ())
      27  	    abort ();
      28  	}
      29        }
      30        if (!omp_in_final ())
      31  	abort ();
      32        #pragma omp taskwait
      33      }
      34    }
      35    return 0;
      36  }