! { dg-do run } ! { dg-additional-options "-g" } module test_functions contains integer function compute_sum1 () result(sum) implicit none integer :: i sum = 0 !$omp unroll full do i = 1,10,3 sum = sum + 1 end do end function compute_sum1 integer function compute_sum2() result(sum) implicit none integer :: i sum = 0 !$omp unroll full do i = -20,1,3 sum = sum + 1 end do end function compute_sum2 integer function compute_sum3() result(sum) implicit none integer :: i sum = 0 !$omp unroll full do i = 30,1,-3 sum = sum + 1 end do end function compute_sum3 integer function compute_sum4() result(sum) implicit none integer :: i sum = 0 !$omp unroll full do i = 50,-60,-10 sum = sum + 1 end do end function compute_sum4 end module test_functions program test use test_functions implicit none integer :: result result = compute_sum1 () if (result .ne. 4) then stop 1 end if result = compute_sum2 () if (result .ne. 8) then stop 2 end if result = compute_sum3 () if (result .ne. 10) then stop 3 end if result = compute_sum4 () if (result .ne. 12) then stop 4 end if end program