http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53714

             Bug #: 53714
           Summary: false positive for -Wuninitialized
    Classification: Unclassified
           Product: gcc
           Version: 4.7.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: ajma...@googlemail.com


Fortran code:

      subroutine test(na,nb,nc)
      implicit none
      integer, intent(in) :: na, nb, nc
      integer ia, ib, ic, itest
      do ia=1,na
       do ib=1,nb
        do ic=1,nc
         itest=ic
        enddo
       enddo
      enddo
      do ic=1,nc
       write (6,*) ic
      enddo
      end

/opt/gcc/4.7.1/bin/gfortran -c -O1 -Wuninitialized test.f
test.f: In function ‘test’:
test.f:4:0: warning: ‘ic’ may be used uninitialized in this function
[-Wuninitialized]

Not seen with zero optimization, but for -O1 and greater the compiler reports
that 'ic' may be uninitialized.

Removing the do-loop at the end of the subroutine removes the warning, even
though it seems unrelated to the location of the alleged uninitialized case.

Removing either of the ia or ib loops (which do nothing) also removes the
warning.

Seen with 4.7.1 built from source.

Reply via email to