1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
/* PR middle-end/35611 */ /* { dg-options "-O2" } */ extern void abort (void); int main (void) { long double d = .0L; int i; #pragma omp parallel for shared (d) for (i = 0; i < 1000; i++) #pragma omp atomic d += 1.0L; if (d != 1000.0L) abort (); return 0; }