(root)/
gcc-13.2.0/
libgomp/
testsuite/
libgomp.oacc-c-c++-common/
pr85381-3.c
       1  /* { dg-do run { target openacc_nvidia_accel_selected } }
       2     { dg-skip-if "" { *-*-* } { "*" } { "-O2" } } */
       3  /* { dg-additional-options "-foffload=-fdump-rtl-mach" } */
       4  
       5  /* { dg-additional-options "-Wopenacc-parallelism" } for testing/documenting
       6     aspects of that functionality.  */
       7  
       8  int a;
       9  #pragma acc declare create(a)
      10  
      11  #pragma acc routine vector
      12  /* { dg-warning "region is vector partitioned but does not contain vector partitioned code" "" { target *-*-* } .+2 } */
      13  void __attribute__((noinline, noclone))
      14  foo_v (void)
      15  {
      16    a = 1;
      17  }
      18  
      19  #pragma acc routine worker
      20  /* { dg-warning "region is worker partitioned but does not contain worker partitioned code" "" { target *-*-* } .+3 }
      21     { dg-warning "region is vector partitioned but does not contain vector partitioned code" "" { target *-*-* } .+2 } */
      22  void __attribute__((noinline, noclone))
      23  foo_w (void)
      24  {
      25    a = 2;
      26  }
      27  
      28  int
      29  main (void)
      30  {
      31  
      32    #pragma acc parallel
      33    foo_v ();
      34  
      35    #pragma acc parallel
      36    foo_w ();
      37  
      38    return 0;
      39  }
      40  
      41  /* { dg-final { scan-offload-rtl-dump-not "nvptx_barsync" "mach" } } */