| /* { dg-do compile } */ |
| /* { dg-options "-fopenmp" } */ |
| |
| int x = 6; |
| |
| void |
| foo () |
| { |
| int v; |
| #pragma omp atomic seq_cst read |
| v = x; |
| #pragma omp atomic seq_cst, read |
| v = x; |
| #pragma omp atomic seq_cst write |
| x = v; |
| #pragma omp atomic seq_cst ,write |
| x = v; |
| #pragma omp atomic seq_cst update |
| x += v; |
| #pragma omp atomic seq_cst , update |
| x += v; |
| #pragma omp atomic seq_cst capture |
| v = x += 2; |
| #pragma omp atomic seq_cst, capture |
| v = x += 2; |
| #pragma omp atomic read , seq_cst |
| v = x; |
| #pragma omp atomic write ,seq_cst |
| x = v; |
| #pragma omp atomic update, seq_cst |
| x += v; |
| #pragma omp atomic capture, seq_cst |
| v = x += 2; |
| } |