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

            Bug ID: 90237
           Summary: Bogus warning from -Wdo-subscript
           Product: gcc
           Version: 8.3.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: townsend at astro dot wisc.edu
  Target Milestone: ---

I'm encountering a bogus subscript-in-loop warning triggered by -Wdo-subscript

Example:

--
program do_subscript_bug

  implicit none

  real    :: a(10)
  integer :: i

  a = 0.

  do i = 1, 10
     if (i > 1) then
        print *, a(i-1)
     endif
  end do

end program do_subscript_bug
--

Compiling with -Wdo-subscript gives this error:

do_subscript_bug.f90:12:19:

do_subscript_bug.f90:10:14:

   do i = 1, 10
              2     
do_subscript_bug.f90:12:19:

         print *, a(i-1)
                   1
Warning: Array reference at (1) out of bounds (0 < 1) in loop beginning at (2)
[-Wdo-subscript]

cheers,

Rich

Reply via email to