1  /* PR middle-end/93488
       2   
       3     Ensure that wait and async arguments can be cast to the correct type
       4     without breaking gimple verification.  */
       5  
       6  void test()
       7  {
       8    /* int */ unsigned char a = 1;
       9    /* int */ unsigned char w = 1;
      10  
      11  #pragma acc parallel wait(w) async(a)
      12    ;
      13  #pragma acc kernels wait(w) async(a)
      14    ;
      15  #pragma acc serial wait(w) async(a)
      16    ;
      17    int data = 0;
      18  #pragma acc enter data wait(w) async(a) create(data)
      19  #pragma acc update wait(w) async(a) device(data)
      20  #pragma acc exit data wait(w) async(a) delete(data)
      21  #pragma acc wait(w) async(a)
      22  }