Fix build on sparc64-linux-gnu.
[official-gcc.git] / libgomp / testsuite / libgomp.fortran / omp_atomic1.f90
blobcec05287fc2a5842a240a6c742803af80b26f828
1 ! { dg-do run }
2 integer (kind = 4) :: a
3 integer (kind = 2) :: b
4 real :: c, f
5 double precision :: d
6 integer, dimension (10) :: e
7 a = 1
8 b = 2
9 c = 3
10 d = 4
11 e = 5
12 f = 6
13 !$omp atomic
14 a = a + 4
15 !$omp atomic
16 b = 4 - b
17 !$omp atomic
18 c = c * 2
19 !$omp atomic
20 d = 2 / d
21 if (a .ne. 5 .or. b .ne. 2 .or. c .ne. 6 .or. d .ne. 0.5) STOP 1
22 d = 1.2
23 !$omp atomic
24 a = a + c + d
25 !$omp atomic
26 b = b - (a + c + d)
27 if (a .ne. 12 .or. b .ne. -17) STOP 2
28 !$omp atomic
29 a = c + d + a
30 !$omp atomic
31 b = a + c + d - b
32 if (a .ne. 19 .or. b .ne. 43) STOP 3
33 !$omp atomic
34 b = (a + c + d) - b
35 a = 32
36 !$omp atomic
37 a = a / 3.4
38 if (a .ne. 9 .or. b .ne. -16) STOP 4
39 end