| ! PR fortran/34020 | |
| ! { dg-do run } | |
| subroutine atomic_add(lhs, rhs) | |
| real lhs, rhs | |
| !$omp atomic | |
| lhs = rhs + lhs | |
| end | |
| external atomic_add | |
| real lhs, rhs | |
| integer i | |
| lhs = 0 | |
| rhs = 1 | |
| !$omp parallel do num_threads(8) shared(lhs, rhs) | |
| do i = 1, 300000 | |
| call atomic_add(lhs, rhs) | |
| enddo | |
| if (lhs .ne. 300000) STOP 1 | |
| end |