This is the mail archive of the fortran@gcc.gnu.org mailing list for the GNU Fortran project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

be used uninitialized in this function


Hi there,

With the example code below, gfortran (4.5.0 and 4.6.0) give a strange warning message with -O2 flag:

> gfortran -Wall -O2 -c readmo.f90
readmo.f90: In function 'readmo':
readmo.f90:4:0: warning: 'convrt' may be used uninitialized in this function

When with -O0, the warning message disappear.

In fact, the array 'lopt' is not initialized in the code, however, the compiler does not give warning about that. I try to compile the same code with g95. It give the same message, with additional 'used but not set' warning about 'lopt'.

Any suggestions or comments? Thanks in advance!

Regards,
Jinsong

subroutine readmo()
!!!! example code readmo.f90 !!!!

   implicit none
   real :: convrt
   integer :: i, iflag, j
   integer, dimension(3,5) :: lopt

   iflag = 0
   do i = 1, 5
      do j = 1, 3
         if ( lopt(j,i) < 0 ) then
            convrt = 1.0
            if ( j > 1 ) convrt = 2.0
            iflag = 1
         endif
      enddo
   enddo
   if ( iflag /= 0 ) then
      do i = 1, 5
         write(6,*) i*convrt
      enddo
   endif

end subroutine readmo


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]