comparison libgomp/testsuite/libgomp.fortran/omp_atomic5.f90 @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children 1830386684a0
comparison
equal deleted inserted replaced
111:04ced10e8804 131:84e7813d76e9
28 !$omp end atomic 28 !$omp end atomic
29 !$omp atomic seq_cst capture 29 !$omp atomic seq_cst capture
30 d = d / 2.0 30 d = d / 2.0
31 d2 = d 31 d2 = d
32 !$omp end atomic 32 !$omp end atomic
33 if (a2 .ne. 1 .or. b2 .ne. -16 .or. c2 .ne. 3 .or. d2 .ne. 2) call abort 33 if (a2 .ne. 1 .or. b2 .ne. -16 .or. c2 .ne. 3 .or. d2 .ne. 2) STOP 1
34 !$omp atomic read seq_cst 34 !$omp atomic read seq_cst
35 a2 = a 35 a2 = a
36 !$omp atomic seq_cst, read 36 !$omp atomic seq_cst, read
37 c2 = c 37 c2 = c
38 if (a2 .ne. 5 .or. b2 .ne. -16 .or. c2 .ne. 6 .or. d2 .ne. 2) call abort 38 if (a2 .ne. 5 .or. b2 .ne. -16 .or. c2 .ne. 6 .or. d2 .ne. 2) STOP 2
39 a2 = 10 39 a2 = 10
40 if (a2 .ne. 10) call abort 40 if (a2 .ne. 10) STOP 3
41 !$omp atomic capture 41 !$omp atomic capture
42 a2 = a 42 a2 = a
43 a = e(1) + e(6) + e(7) * 2 43 a = e(1) + e(6) + e(7) * 2
44 !$omp endatomic 44 !$omp endatomic
45 if (a2 .ne. 5) call abort 45 if (a2 .ne. 5) STOP 4
46 !$omp atomic read 46 !$omp atomic read
47 a2 = a 47 a2 = a
48 !$omp end atomic 48 !$omp end atomic
49 if (a2 .ne. 28) call abort 49 if (a2 .ne. 28) STOP 5
50 !$omp atomic capture seq_cst 50 !$omp atomic capture seq_cst
51 b2 = b 51 b2 = b
52 b = e(1) + e(7) + e(5) * 2 52 b = e(1) + e(7) + e(5) * 2
53 !$omp end atomic 53 !$omp end atomic
54 if (b2 .ne. -16) call abort 54 if (b2 .ne. -16) STOP 6
55 !$omp atomic seq_cst, read 55 !$omp atomic seq_cst, read
56 b2 = b 56 b2 = b
57 !$omp end atomic 57 !$omp end atomic
58 if (b2 .ne. 24) call abort 58 if (b2 .ne. 24) STOP 7
59 end 59 end