declare-BCGS.inc


#ifdef use_allocatable
      integer memerr
#else
# if defined(mmsl)
      integer memerr
# elif defined(mms)
      logical memerr
# elif defined(cray)
      integer memerr
# else
      integer MALLOC
# endif
# ifdef osf1
      external MALLOC
      external FREE
# endif
#endif
#ifdef use_allocatable
      real, allocatable, dimension(:) :: d
#else
      pointer (ipd, d)
# ifdef strict_f77
#  if defined(cray) || defined(hpux) || defined(fujitsu) || defined(irix) || defined(osf1)
      real d(1)
#  else
      real d(*)
#  endif
# else
      real d(ia(_JT_nrows_))
# endif
#endif
#ifdef use_allocatable
      real, allocatable, dimension(:) :: h
#else
      pointer (iph, h)
# ifdef strict_f77
#  if defined(cray) || defined(hpux) || defined(fujitsu) || defined(irix) || defined(osf1)
      real h(1)
#  else
      real h(*)
#  endif
# else
      real h(ia(_JT_nrows_))
# endif
#endif
#ifdef use_allocatable
      real, allocatable, dimension(:) :: q
#else
      pointer (ipq, q)
# ifdef strict_f77
#  if defined(cray) || defined(hpux) || defined(fujitsu) || defined(irix) || defined(osf1)
      real q(1)
#  else
      real q(*)
#  endif
# else
      real q(ia(_JT_nrows_))
# endif
#endif
#ifdef use_allocatable
      real, allocatable, dimension(:) :: r
#else
      pointer (ipr, r)
# ifdef strict_f77
#  if defined(cray) || defined(hpux) || defined(fujitsu) || defined(irix) || defined(osf1)
      real r(1)
#  else
      real r(*)
#  endif
# else
      real r(ia(_JT_nrows_))
# endif
#endif
#ifdef use_allocatable
      real, allocatable, dimension(:) :: u
#else
      pointer (ipu, u)
# ifdef strict_f77
#  if defined(cray) || defined(hpux) || defined(fujitsu) || defined(irix) || defined(osf1)
      real u(1)
#  else
      real u(*)
#  endif
# else
      real u(ia(_JT_nrows_))
# endif
#endif
#ifdef use_allocatable
      real, allocatable, dimension(:) :: g
#else
      pointer (ipg, g)
# ifdef strict_f77
#  if defined(cray) || defined(hpux) || defined(fujitsu) || defined(irix) || defined(osf1)
      real g(1)
#  else
      real g(*)
#  endif
# else
      real g(ia(_JT_nrows_))
# endif
#endif
#ifdef use_allocatable
      real, allocatable, dimension(:) :: v
#else
      pointer (ipv, v)
# ifdef strict_f77
#  if defined(cray) || defined(hpux) || defined(fujitsu) || defined(irix) || defined(osf1)
      real v(1)
#  else
      real v(*)
#  endif
# else
      real v(ia(_JT_nrows_))
# endif
#endif
#ifdef use_allocatable
      real, allocatable, dimension(:) :: w
#else
      pointer (ipw, w)
# ifdef strict_f77
#  if defined(cray) || defined(hpux) || defined(fujitsu) || defined(irix) || defined(osf1)
      real w(1)
#  else
      real w(*)
#  endif
# else
      real w(ia(_JT_nrows_))
# endif
#endif
#ifdef use_allocatable
      real, allocatable, dimension(:) :: work
#else
      pointer (ipwork, work)
# ifdef strict_f77
#  if defined(cray) || defined(hpux) || defined(fujitsu) || defined(irix) || defined(osf1)
      real work(1)
#  else
      real work(*)
#  endif
# else
      real work(ia(_JT_nrows_))
# endif
#endif
#ifdef use_allocatable
      real, allocatable, dimension(:) :: xold
#else
      pointer (ipxold, xold)
# ifdef strict_f77
#  if defined(cray) || defined(hpux) || defined(fujitsu) || defined(irix) || defined(osf1)
      real xold(1)
#  else
      real xold(*)
#  endif
# else
      real xold(ia(_JT_nrows_))
# endif
#endif