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