1  /* { dg-do compile } */
       2  
       3  void
       4  a17_1_wrong ()
       5  {
       6    union
       7    {
       8      int n;
       9      float x;
      10    } u;
      11  #pragma omp parallel
      12    {
      13  #pragma omp atomic
      14      u.n++;
      15  #pragma omp atomic
      16      u.x += 1.0;
      17  /* Incorrect because the atomic constructs reference the same location
      18       through incompatible types */
      19    }
      20  }