(root)/
gcc-13.2.0/
gcc/
testsuite/
c-c++-common/
goacc/
routine-nohost-1.c
       1  /* Test OpenACC 'routine' with 'nohost' clause, valid use.  */
       2  
       3  /* { dg-additional-options "-fdump-tree-oaccloops" } */
       4  
       5  #pragma acc routine nohost
       6  int THREE(void)
       7  {
       8    return 3;
       9  }
      10  
      11  #pragma acc routine (THREE) nohost
      12  
      13  #pragma acc routine nohost
      14  extern int THREE(void);
      15  
      16  /* { dg-final { scan-tree-dump-times {(?n)^OpenACC routine '[^']*THREE[^']*' has 'nohost' clause\.$} 1 oaccloops } } */
      17  
      18  
      19  #pragma acc routine nohost
      20  extern void NOTHING(void);
      21  
      22  #pragma acc routine (NOTHING) nohost
      23  
      24  void NOTHING(void)
      25  {
      26  }
      27  
      28  #pragma acc routine nohost
      29  extern void NOTHING(void);
      30  
      31  #pragma acc routine (NOTHING) nohost
      32  
      33  /* { dg-final { scan-tree-dump-times {(?n)^OpenACC routine '[^']*NOTHING[^']*' has 'nohost' clause\.$} 1 oaccloops } } */
      34  
      35  
      36  extern float ADD(float, float);
      37  
      38  #pragma acc routine (ADD) nohost
      39  
      40  float ADD(float x, float y)
      41  {
      42    return x + y;
      43  }
      44  
      45  #pragma acc routine nohost
      46  extern float ADD(float, float);
      47  
      48  #pragma acc routine (ADD) nohost
      49  
      50  /* { dg-final { scan-tree-dump-times {(?n)^OpenACC routine '[^']*ADD[^']*' has 'nohost' clause\.$} 1 oaccloops } } */