recursion1.f90 457 B

1234567891011121314151617181920212223242526272829
  1. ! { dg-do run }
  2. ! { dg-options "-fopenmp -fcheck=recursion" }
  3. !
  4. ! PR 42517: Bogus runtime error with -fopenmp -fcheck=recursion
  5. !
  6. ! Contributed by Janus Weil <janus@gcc.gnu.org>
  7. implicit none
  8. integer :: i,s
  9. s=0
  10. !$omp parallel do private(i) shared(s)
  11. do i=1,10
  12. call sub(i)
  13. end do
  14. !$omp end parallel do
  15. if (s/=55) call abort()
  16. contains
  17. subroutine sub (n)
  18. integer :: n
  19. !$omp atomic
  20. s = s + n
  21. print '(A,i3)',"loop =",n
  22. end subroutine
  23. end