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.