1! RUN: %S/test_errors.sh %s %t %f18 -fopenmp
2use omp_lib
3! Check OpenMP 2.13.6 atomic Construct
4
5  a = 1.0
6  !$omp parallel num_threads(4)
7  !$omp atomic seq_cst, read
8  b = a
9
10  !$omp atomic seq_cst write
11  a = b
12  !$omp end atomic
13
14  !$omp atomic read acquire hint(OMP_LOCK_HINT_CONTENDED)
15  a = b
16
17  !$omp atomic release hint(OMP_LOCK_HINT_UNCONTENDED) write
18  a = b
19
20  !$omp atomic capture seq_cst
21  b = a
22  a = a + 1
23  !$omp end atomic
24
25  !$omp atomic hint(1) acq_rel capture
26  b = a
27  a = a + 1
28  !$omp end atomic
29
30  !ERROR: expected end of line
31  !ERROR: expected end of line
32  !$omp atomic read write
33  a = a + 1
34
35  !$omp atomic
36  a = a + 1
37
38  !$omp atomic relaxed
39  a = a + 1
40
41  !ERROR: expected 'UPDATE'
42  !ERROR: expected 'WRITE'
43  !ERROR: expected 'CAPTURE'
44  !ERROR: expected 'READ'
45  !$omp atomic num_threads write
46  a = a + 1
47
48  !$omp end parallel
49end
50