xref: /llvm-project/flang/test/Semantics/OpenMP/omp-atomic-assignment-stmt-read.f90 (revision 2a005bff183c6c02004fa61a7bc5ec87d5d88ad3)
1! RUN: %flang_fc1 -fopenmp %s -o -
2
3integer :: x, vv(2), xx(2)
4type t1
5  integer :: v,y,yy(2)
6end type t1
7type(t1)::t,tt(2)
8x=1
9xx=1
10vv=1
11t%y=1
12t%yy=1
13tt(1)%y=1
14tt(1)%yy=1
15tt(2)%v=1
16tt(2)%y=1
17tt(2)%yy=1
18
19!$omp atomic read
20  vv(1) = vv(2)
21!$omp atomic read
22  t%v = t%y
23!$omp atomic read
24  t%v = t%yy(1)
25!$omp atomic read
26  tt(1)%v = tt(1)%y
27!$omp atomic read
28  tt(1)%v = tt(2)%v
29!$omp atomic read
30  tt(1)%v = tt(1)%yy(1)
31!$omp atomic read
32  t%yy(2) = t%y
33!$omp atomic read
34  t%yy(2) = t%yy(1)
35!$omp atomic read
36  tt(1)%yy(2) = tt(1)%y
37!$omp atomic read
38  tt(1)%yy(2) = tt(1)%yy(1)
39!$omp atomic read
40  tt(1)%yy(2) = tt(2)%yy(2)
41end
42