anchor.diff:          do j=1,m
               do k=1,n
                   status = 1
  -                if (.not. F%ReadLineSkipEmptyAndComments(InLine)) &
  -                    call F%Error( 'matrix file is the wrong size')
  +                if (.not. F%ReadLineSkipEmptyAndComments(InLine)) exit
                   read (InLine,*, iostat=status) mat(j,k)
                   if (status/=0) call F%Error( 'matrix file is the wrong size')
               end do
  
positive.code:     end subroutine
  
      subroutine TFileStream_Close(this)
      class(TFileStream), intent(inout) :: this
      if (this%unit/=0) close(this%unit)
      this%unit=0
      end subroutine TFileStream_Close
  
  #ifdef __GFORTRAN__
      impure elemental subroutine TFileStream_Free(this)
  #else
      subroutine TFileStream_Free(this)
  #endif
      Type(TFileStream), intent(inout) :: this
  
      call this%Close()
      end subroutine TFileStream_Free
  
negative.code:     procedure, nopass :: WriteTextVector
      procedure, nopass :: LoadTxt_1D
      procedure, nopass :: LoadTxt_2D
      procedure, nopass :: LoadTxt_int_1D
      procedure, nopass :: LoadTxt_int_2D
      procedure, nopass :: OpenTextFile
      procedure, nopass :: CreateTextFile
      procedure, nopass :: CharIsSlash
      generic  :: LoadTxt => LoadTxt_2D, LoadTxt_1D, LoadTxt_int_1D, LoadTxt_int_2D
      generic  :: SaveTxt => WriteTextMatrix, WriteTextVector
      end type
  
  