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

            Bug ID: 59065
           Summary: questionable bounds for unassociated
                    allocatable/pointer arrays?
           Product: gcc
           Version: 4.8.2
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: zeccav at gmail dot com

! gfortran produces SIGSEV at run time for access to unassociated
allocatable/pointer arrays
! questionable bounds for unassociated allocatable/pointer arrays?
! such arrays properties are undefined but I suggest lbound be 1, ubound 0,
size 0
! to minimize damage to erroneous code accessing such arrays
! -fcheck=all does not help
! Linux Fedora 19 bash shell 4.2.45-1
      real, pointer :: ap(:)=>null()
      real, allocatable :: aa(:)
      print *,lbound(aa),ubound(aa),size(aa) ! displays "0 garbage garbage"
should be "1 0 0"?
      print *,lbound(ap),ubound(ap),size(ap) ! displays "0 0 1" should be "1 0
0"?
      call sub(aa,ap)
      contains 
      subroutine sub(va,vp)
      real, intent(in) :: vp(:)
      real, intent(in) :: va(:)
      print *,lbound(va),ubound(va),size(va) ! displays "1 garbage garbage"
should be "1 0 0"?
      print *,lbound(vp),ubound(vp),size(vp) ! displays "1 1 1" should be "1 0
0"?
      print *,va(1) ! SIGSEGV here -fcheck=all does not detect it
      print *,vp(1) ! ditto
      end subroutine
      end

Reply via email to