gcc/gcc/testsuite/gcc.dg/gomp/appendix-a/a.17.1.c

21 lines
292 B
C

/* { 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 */
}
}