| module m |
| implicit none |
| integer i, v |
| real f |
| contains |
| |
| subroutine foo () |
| !$omp atomic release, hint (0), update |
| i = i + 1 |
| !$omp atomic hint(0)seq_cst |
| i = i + 1 |
| !$omp atomic relaxed,update,hint (0) |
| i = i + 1 |
| !$omp atomic release |
| i = i + 1 |
| !$omp atomic relaxed |
| i = i + 1 |
| !$omp atomic acq_rel capture |
| i = i + 1; v = i |
| !$omp atomic capture,acq_rel , hint (1) |
| i = i + 1; v = i |
| !$omp atomic hint(0),acquire capture |
| i = i + 1; v = i |
| !$omp atomic read acquire |
| v = i |
| !$omp atomic acq_rel read |
| v = i |
| !$omp atomic release,write |
| i = v |
| !$omp atomic write,acq_rel |
| i = v |
| !$omp atomic hint(1),update,release |
| f = f + 2.0 |
| !$omp atomic update ,acquire |
| i = i + 1 |
| !$omp atomic acq_rel update |
| i = i + 1 |
| !$omp atomic acq_rel,hint(0) |
| i = i + 1 |
| end |
| end module |