https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113808

--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> ---
With the following I don't see things going wrong, but we end up with the loop
having the STOP exit last instead and thus a PEELED case.

function bar (n) result (k)
  integer :: n, k
  !$omp simd lastprivate(k)
  do k = 1, n + 41
    if (k > 11 + 41 .or. k < 1) error stop
  end do
end

program main
  integer :: n, i,k
  integer :: bar
  n = 11
  k = bar (n)
  if (k /= 53) then
    print *, k, 53
    error stop
  endif
end

Reply via email to