On 10/27/06, Catherine Moroney <[log in to unmask]> wrote: > type my_type > integer :: ii > integer, dimension(:), pointer :: y > integer, dimension(10) :: z > end type my_type > > subroutine sub1(a) > integer, dimension(:), intent(out) :: a > end subroutine sub1 > > type ( my_type ) , dimension(:), allocatable :: x > > call sub1(x(i-1)%y) ! <--- This is NOT allowed. I don't see anything wrong with this, as long as x(i-1)%y is allocated. Especially since j = i - 1 call sub1(x(j)%y) ! <--- This is allowed. is OK. It seems to be a compiler bug. Aleks