(root)/
gcc-13.2.0/
libgomp/
testsuite/
libgomp.oacc-c-c++-common/
gang-static-1.c
       1  #include <assert.h>
       2  
       3  #define N 100
       4  
       5  void
       6  test (int *a, int *b, int sarg)
       7  {
       8    int i;
       9  
      10    for (i = 0; i < N; i++)
      11      assert (a[i] == b[i] + sarg);
      12  }
      13  
      14  int
      15  main ()
      16  {
      17    int a[N], b[N];
      18    int i;
      19  
      20    for (i = 0; i < N; i++)
      21      b[i] = i+1;
      22  
      23  #pragma acc parallel loop gang (static:*) num_gangs (10)
      24    for (i = 0; i < 100; i++)
      25      a[i] = b[i] + 0;
      26  
      27    test (a, b, 0);
      28  
      29  #pragma acc parallel loop gang (static:1) num_gangs (10)
      30    for (i = 0; i < 100; i++)
      31      a[i] = b[i] + 1;
      32  
      33    test (a, b, 1);
      34  
      35  #pragma acc parallel loop gang (static:5) num_gangs (10)
      36    for (i = 0; i < 100; i++)
      37      a[i] = b[i] + 5;
      38  
      39    test (a, b, 5);
      40  
      41  #pragma acc parallel loop gang (static:20) num_gangs (10)
      42    for (i = 0; i < 100; i++)
      43      a[i] = b[i] + 20;
      44  
      45    test (a, b, 20);
      46  
      47    return 0;
      48  }