1  /* { dg-do compile } */
       2  
       3  void
       4  foo (int n)
       5  {
       6    /* Test to ensure that 'device_num' is parsed correctly in device clauses. */
       7  
       8    #pragma omp target device (1)
       9    ;
      10  
      11    #pragma omp target device (n)
      12    ;
      13  
      14    #pragma omp target device (n + 1)
      15    ;
      16  
      17    #pragma omp target device (device_num : 1)
      18    ;
      19  
      20    #pragma omp target device (device_num : n)
      21    ;
      22  
      23    #pragma omp target device (device_num : n + 1)
      24    ;
      25  
      26    #pragma omp target device (invalid : 1) /* { dg-error "expected 'ancestor' or 'device_num'" "" { target *-*-* } } */
      27    /* { dg-error "expected '\\)' before 'invalid'" "" { target c } .-1 } */
      28    ;
      29  
      30    #pragma omp target device (device_num : n, n) /* { dg-error "expected '\\)' before ','" } */
      31    ;
      32  }