! { dg-options "-Wundefined-do-loop" } | |
! Program to check corner cases for DO statements. | |
program do_1 | |
implicit none | |
integer i, j | |
! limit=HUGE(i), step 1 | |
j = 0 | |
do i = HUGE(i) - 10, HUGE(i), 1 ! { dg-warning "is undefined as it overflows" } | |
j = j + 1 | |
end do | |
if (j .ne. 11) STOP 1 | |
! limit=-HUGE(i)-1, step -1 | |
j = 0 | |
do i = -HUGE(i) + 10 - 1, -HUGE(i) - 1, -1 ! { dg-warning "is undefined as it underflows" } | |
j = j + 1 | |
end do | |
if (j .ne. 11) STOP 2 | |
end program |