1/* { dg-do compile } */ 2/* { dg-options "-fopenmp" } */ 3 4int x = 6; 5 6void 7foo () 8{ 9 int v; 10 #pragma omp atomic seq_cst read 11 v = x; 12 #pragma omp atomic seq_cst, read 13 v = x; 14 #pragma omp atomic seq_cst write 15 x = v; 16 #pragma omp atomic seq_cst ,write 17 x = v; 18 #pragma omp atomic seq_cst update 19 x += v; 20 #pragma omp atomic seq_cst , update 21 x += v; 22 #pragma omp atomic seq_cst capture 23 v = x += 2; 24 #pragma omp atomic seq_cst, capture 25 v = x += 2; 26 #pragma omp atomic read , seq_cst 27 v = x; 28 #pragma omp atomic write ,seq_cst 29 x = v; 30 #pragma omp atomic update, seq_cst 31 x += v; 32 #pragma omp atomic capture, seq_cst 33 v = x += 2; 34} 35