/* { dg-do compile } */

void
a17_1_wrong ()
{
  union
  {
    int n;
    float x;
  } u;
#pragma omp parallel
  {
#pragma omp atomic
    u.n++;
#pragma omp atomic
    u.x += 1.0;
/* Incorrect because the atomic constructs reference the same location
     through incompatible types */
  }
}


syntax highlighted by Code2HTML, v. 0.9.1