1module m 2implicit none 3integer i, v 4real f 5contains 6 7subroutine foo () 8 !$omp atomic release, hint (0), update 9 i = i + 1 10 !$omp atomic hint(0)seq_cst 11 i = i + 1 12 !$omp atomic relaxed,update,hint (0) 13 i = i + 1 14 !$omp atomic release 15 i = i + 1 16 !$omp atomic relaxed 17 i = i + 1 18 !$omp atomic acq_rel capture 19 i = i + 1; v = i 20 !$omp atomic capture,acq_rel , hint (1) 21 i = i + 1; v = i 22 !$omp atomic hint(0),acquire capture 23 i = i + 1; v = i 24 !$omp atomic read acquire 25 v = i 26 !$omp atomic acq_rel read 27 v = i 28 !$omp atomic release,write 29 i = v 30 !$omp atomic write,acq_rel 31 i = v 32 !$omp atomic hint(1),update,release 33 f = f + 2.0 34 !$omp atomic update ,acquire 35 i = i + 1 36 !$omp atomic acq_rel update 37 i = i + 1 38 !$omp atomic acq_rel,hint(0) 39 i = i + 1 40end 41end module 42