Two of the following three subroutines abort at run time.
They have run time zero sized arrays that have "different"
zero sizes as arguments to matmul.  If the zeroness is visible
at compile time or if the zeroness has the same "size", the
similar subroutines do not abort

Dick Hendrickson



       program try_gf1003

! fails on Windows XP
! gcc version 4.4.0 20080312 (experimental) [trunk revision 133139]

      call       gf1003a(  9,  8,  6)   
      call       gf1003b(  9,  8,  6)   
      call       gf1003c(  9,  8,  6)   !fails
      call       gf1003d(  9,  8,  6)   !fails
      end program


      SUBROUTINE GF1003a(nf9,nf8,nf6)
      REAL RDA(3,2)
      REAL RDA1(3,5)
      REAL RDA2(5,2)
      print *, 'gf1003a started'
      RDA = MATMUL(RDA1(:, 9:8),RDA2( 8:6,:))
      print *, 'gf1003a finished'
      END SUBROUTINE

      SUBROUTINE GF1003b(nf9,nf8,nf6)
      REAL RDA(3,2)
      REAL RDA1(3,0)
      REAL RDA2(0,2)
      print *, 'gf1003b started'
      RDA = MATMUL(RDA1(:,NF9:NF8),RDA2(NF9:NF8,:))
      print *, 'gf1003b finished'
      END SUBROUTINE

      SUBROUTINE GF1003c(nf9,nf8,nf6)
      REAL RDA(3,2)
      REAL RDA1(3,0)
      REAL RDA2(0,2)
      print *, 'gf1003c started'
      RDA = MATMUL(RDA1(:,NF9:NF8),RDA2(NF8:NF6,:))
      print *, 'gf1003c finished'
      END SUBROUTINE

      SUBROUTINE GF1003d(nf9,nf8,nf6)
      REAL RDA(3,2)
      REAL RDA1(3,5)
      REAL RDA2(5,2)
      print *, 'gf1003d started'
      RDA = MATMUL(RDA1(:,NF9:NF8),RDA2(NF8:NF6,:))
      print *, 'gf1003d finished'
      END SUBROUTINE

C:\gfortran:gfortran gf1003.f

C:\gfortran:a
 gf1003a started
 gf1003a finished
 gf1003b started
 gf1003b finished
 gf1003c started
Fortran runtime error: dimension of array B incorrect in MATMUL intrinsic


-- 
           Summary: run-time abort for MATMUL of run-time zero sized array
           Product: gcc
           Version: 4.4.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: dick dot hendrickson at gmail dot com


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

Reply via email to