1  /* Integer reductions.  */
       2  
       3  #define n 1000
       4  
       5  int
       6  main(void)
       7  {
       8    int v1, v2;
       9  
      10  #pragma acc parallel reduction(+:v1,v2)
      11    ;
      12  #pragma acc parallel reduction(+:v1,v2) copy(v1,v2)
      13    ;
      14  #pragma acc parallel reduction(+:v1,v2) pcopy(v1,v2)
      15    ;
      16  #pragma acc parallel reduction(+:v1,v2) present(v1,v2)
      17    ;
      18  #pragma acc parallel reduction(+:v1,v2) copyin(v1,v2) /* { dg-warning "incompatible data clause with reduction" } */
      19    ;
      20  #pragma acc parallel reduction(+:v1,v2) pcopyin(v1,v2) /* { dg-warning "incompatible data clause with reduction" } */
      21    ;
      22  #pragma acc parallel reduction(+:v1,v2) copyout(v1,v2) /* { dg-warning "incompatible data clause with reduction" } */
      23    ;
      24  #pragma acc parallel reduction(+:v1,v2) pcopyout(v1,v2) /* { dg-warning "incompatible data clause with reduction" } */
      25    ;
      26  #pragma acc parallel reduction(+:v1,v2) create(v1,v2) /* { dg-warning "incompatible data clause with reduction" } */
      27    ;
      28  #pragma acc parallel reduction(+:v1,v2) pcreate(v1,v2) /* { dg-warning "incompatible data clause with reduction" } */
      29    ;
      30  
      31    return 0;
      32  }