Mecej4, I modified your latest reproducer to produce both errors. Compile FTN95 /checkmate /link Run SDBG place breakpoints at lines 22 and 34 and run stop at 22 : looks ok stop at 34 : 1st > X(1) loop k to allow continue; incorrect bounds stop at 34 : 2nd > X(42) no 3rd stop showing integer overflow in call
MODULE mcs
IMPLICIT NONE
INTEGER, PARAMETER :: LRCGD1 = 19
INTEGER :: NRN
REAL, DIMENSION(:,:), ALLOCATABLE, SAVE :: app
END Module
Program HST3d
USE mcs
IMPLICIT NONE
NRN = 7
allocate(app(NRN,0:5))
CALL gcgris(app)
print *,app(3,0)
end Program
SUBROUTINE gcgris(ap)
USE mcs
IMPLICIT NONE
REAL, DIMENSION(NRN,0:*), INTENT(IN OUT) :: ap
integer :: L = 0
CALL abmult( ap(1:NRN,0) ) ! > sdbg reports x(1) ; use do 1,1 to continue
CALL abmult( ap ) ! > sdbg reports x(42)
CALL abmult( ap(1,L) ) ! > sdbg reports integer overflow
end subroutine gcgris
SUBROUTINE abmult(x)
USE mcs
IMPLICIT NONE
REAL, DIMENSION(*), INTENT(OUT) :: x
INTEGER :: irn
integer :: k = 0
!
k = k+1
write (*,*) 'at abmult',k
DO irn=1,k ! nrn
x(irn) = 0.1
END DO
END SUBROUTINE abmult