/* { dg-additional-options "-fdump-tree-original" } */ #pragma omp requires atomic_default_mem_order(release) int foo (int x, int y) { int z; #pragma omp atomic write x = y; #pragma omp atomic update x += 1; #pragma omp atomic read acquire z = x; return z; } /* { dg-final { scan-tree-dump "#pragma omp atomic release" "original" } } */ /* { dg-final { scan-tree-dump "#pragma omp atomic release" "original" } } */ /* { dg-final { scan-tree-dump "z = #pragma omp atomic read acquire" "original" } } */