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

            Bug ID: 87968
           Summary: [7/8/9 Regression] Warning about uninizialized
                    variables in array constructor
           Product: gcc
           Version: 9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: tkoenig at gcc dot gnu.org
  Target Milestone: ---

$ cat a.f90
program main
  integer, parameter :: dp = selected_real_kind(15)
  real(kind=dp) :: v1(3), v2(4)
  real(kind=dp), allocatable :: vv(:)
  v1 = [1._dp, 2._dp, 3._dp]
  v2 =  [7._dp, 8._dp, 9._dp, 5._dp]
  vv = [v1, v2]
  print *,vv
end program main
$ gfortran -O -Wall a.f90
a.f90:7:0:

    7 |   vv = [v1, v2]
      | 
Warning: 'vv.offset' is used uninitialized in this function [-Wuninitialized]
a.f90:7:0: Warning: 'vv.dim[0].lbound' is used uninitialized in this function
[-Wuninitialized]
a.f90:7:0: Warning: 'vv.dim[0].ubound' is used uninitialized in this function
[-Wuninitialized]
$ /usr/bin/gfortran-8 -O -Wall a.f90
a.f90:7:0:

   vv = [v1, v2]

Warning: 'vv.offset' is used uninitialized in this function [-Wuninitialized]
a.f90:7:0: Warning: 'vv.dim[0].lbound' is used uninitialized in this function
[-Wuninitialized]
a.f90:7:0: Warning: 'vv.dim[0].ubound' is used uninitialized in this function
[-Wuninitialized]
$ /usr/bin/gfortran-7 -O -Wall a.f90
a.f90:7:0:

   vv = [v1, v2]

Warning: 'vv.offset' is used uninitialized in this function [-Wuninitialized]
a.f90:7:0: Warning: 'vv.dim[0].lbound' is used uninitialized in this function
[-Wuninitialized]
a.f90:7:0: Warning: 'vv.dim[0].ubound' is used uninitialized in this function
[-Wuninitialized]
$ /usr/bin/gfortran-6 -O -Wall a.f90
$

The warning is spurious, but there may be something wrong with the
generated code - let's see.

Reply via email to