(root)/
gcc-13.2.0/
libgomp/
testsuite/
libgomp.oacc-c-c++-common/
reduction-6.c
       1  /* { dg-do run } */
       2  
       3  /* Test reductions on explicitly private variables.  */
       4  
       5  #include <assert.h>
       6  
       7  int
       8  main ()
       9  {
      10    int i, j, red[10];
      11    int v;
      12  
      13    for (i = 0; i < 10; i++)
      14      red[i] = -1;
      15  
      16  #pragma acc parallel copyout(red)
      17    {
      18  #pragma acc loop gang private(v)
      19      for (j = 0; j < 10; j++)
      20        {
      21  	v = j;
      22  
      23  #pragma acc loop vector reduction (+:v)
      24  	for (i = 0; i < 100; i++)
      25  	  v++;
      26  
      27  	red[j] = v;
      28        }
      29    }
      30  
      31    for (i = 0; i < 10; i++)
      32      assert (red[i] == i + 100);
      33  
      34    return 0;
      35  }