diff options
Diffstat (limited to 'gcc/testsuite/gfortran.dg/do_corner_warn.f90')
-rw-r--r-- | gcc/testsuite/gfortran.dg/do_corner_warn.f90 | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/do_corner_warn.f90 b/gcc/testsuite/gfortran.dg/do_corner_warn.f90 new file mode 100644 index 00000000000..07484d3ca7b --- /dev/null +++ b/gcc/testsuite/gfortran.dg/do_corner_warn.f90 @@ -0,0 +1,22 @@ +! { 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) call abort + + ! 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) call abort + +end program |