(root)/
gcc-13.2.0/
gcc/
testsuite/
c-c++-common/
goacc-gomp/
nesting-1.c
       1  /* { dg-additional-options "--param=openacc-kernels=decompose" }
       2  
       3  /* { dg-additional-options "-fopt-info-omp-note" } */
       4  
       5  /* { dg-additional-options "--param=openacc-privatization=noisy" }
       6     Prune a few: uninteresting, and potentially varying depending on GCC configuration (data types):
       7     { dg-prune-output {note: variable 'D\.[0-9]+' declared in block isn't candidate for adjusting OpenACC privatization level: not addressable} } */
       8  
       9  
      10  void
      11  f_acc_data (void)
      12  {
      13  #pragma acc data
      14    /* { dg-note {variable 'i' declared in block is candidate for adjusting OpenACC privatization level} "" { target *-*-* } .-1 } */
      15    {
      16      int i;
      17  #pragma omp atomic write
      18      i = 0;
      19    }
      20  }
      21  
      22  void
      23  f_acc_kernels (void)
      24  {
      25  #pragma acc kernels
      26    /* { dg-note {variable 'i' declared in block is candidate for adjusting OpenACC privatization level} "" { target *-*-* } .-1 } */
      27    {
      28      int i;
      29      /* { dg-note {beginning 'gang-single' part in OpenACC 'kernels' region} "" { target c } .+3 }
      30         { dg-note {beginning 'gang-single' part in OpenACC 'kernels' region} "" { target c++ } .+1 } */
      31  #pragma omp atomic write
      32      i = 0;
      33    }
      34  }
      35  
      36  #pragma acc routine vector
      37  void
      38  f_acc_loop (void)
      39  {
      40    int i;
      41  
      42  #pragma acc loop
      43    /* { dg-note {variable 'i\.[0-9]+' in 'private' clause isn't candidate for adjusting OpenACC privatization level: not addressable} "" { target *-*-* } .-1 } */
      44    /* { dg-note {variable 'i' in 'private' clause is candidate for adjusting OpenACC privatization level} "" { target *-*-* } .-2 }
      45       { dg-bogus {note: variable 'i' ought to be adjusted for OpenACC privatization level: 'UNKNOWN'} "TODO" { xfail *-*-* } .-3 } */
      46    for (i = 0; i < 2; ++i)
      47      {
      48  #pragma omp atomic write
      49        i = 0;
      50      }
      51  }
      52  
      53  void
      54  f_acc_parallel (void)
      55  {
      56  #pragma acc parallel
      57    /* { dg-note {variable 'i' declared in block is candidate for adjusting OpenACC privatization level} "" { target *-*-* } .-1 }
      58       { dg-note {variable 'i' ought to be adjusted for OpenACC privatization level: 'gang'} "" { target *-*-* } .-2 } */
      59    {
      60      int i;
      61  #pragma omp atomic write
      62      i = 0;
      63    }
      64  }