1  /* { dg-do compile } */
       2  /* { dg-options "-fopenmp" } */
       3  
       4  void f1 (void) {}
       5  void f2 (void);
       6  #pragma omp declare target to (f1) device_type (any) to (f2)
       7  
       8  void f3 (void) {}
       9  void f4 (void) {}
      10  #pragma omp declare target device_type (host) to (f3)
      11  #pragma omp declare target to (f4) device_type (nohost)
      12  
      13  #pragma omp declare target
      14  void f5 (void);
      15  void f6 (void) {}
      16  void f7 (void) {}
      17  #pragma omp declare target to (f7)
      18  void f8 (void) {}
      19  #pragma omp declare target to (f8, f5)
      20  #pragma omp declare target to (f5) to(f8)
      21  #pragma omp declare target to (f8) device_type (host)
      22  void f9 (void) {}
      23  #pragma omp declare target to (f9) device_type (nohost)
      24  #pragma omp declare target to (f9)
      25  void f10 (void) {}
      26  #pragma omp declare target device_type (any) to (f10)
      27  void f11 (void) {}
      28  #pragma omp end declare target
      29  
      30  void f12 (void) {}
      31  #pragma omp declare target device_type (any) to (f12)
      32  #pragma omp declare target to (f12) device_type (host)
      33  void f13 (void) {}
      34  #pragma omp declare target device_type (host) to (f13)
      35  #pragma omp declare target to (f13) device_type (nohost)
      36  void f14 (void) {}
      37  #pragma omp declare target device_type (nohost) to (f14)
      38  #pragma omp declare target device_type (any) to (f14)