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