- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi all,
I'm getting a strange array out of bounds error when I try to print a 2D array by row in a contained procedure. I'm using the latest version of IVF with VS Community 2015 and all the default settings.
I have a hacky fix which is included in the snippet below, but just wondered if anyone could help; am I at fault, or is this a bug? I think its something to do with allocating a temporary array for a write statement, but perhaps someone who knows a bit more could explain?
Thanks,
Michael
program LowerBoundError
implicit none
integer, parameter :: dim = 3
double precision :: bigVector( dim * dim )
integer :: iGlb
! Initialize
bigVector = 0
call WriteArrays( dim, bigVector )
contains
subroutine WriteArrays( d, b )
integer, intent(in) :: d
double precision, intent(in) :: b(:)
double precision :: tmp(d)
integer :: i
write(*,*) d
write(*,*) b
! write by row
do i = 1, d
! This crashes
write(*,*) b( i : : d )
! However this works
tmp = b( i : : d )
write(*,*) tmp
end do
end subroutine WriteArrays
end program LowerBoundError
and the error message:
an error forrtl: severe (408): fort: (3): Subscript #1 of the array B has value -858993460 which is less than the lower bound of 1
Link Copied
1 Reply
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am unable to reproduce this in VS2015 + ifort 17.0.4 or 18.0 Beta.
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page