declare-GMRES.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(:) :: 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(:) :: c
#else
      pointer (ipc, c)
# ifdef strict_f77
#  if defined(cray) || defined(hpux) || defined(fujitsu) || defined(irix) || defined(osf1)
      real c(1)
#  else
      real c(*)
#  endif
# else
      real c(iparm(_JT_nold_)+1)
# endif
#endif
#ifdef use_allocatable
      real, allocatable, dimension(:) :: s
#else
      pointer (ips, s)
# ifdef strict_f77
#  if defined(cray) || defined(hpux) || defined(fujitsu) || defined(irix) || defined(osf1)
      real s(1)
#  else
      real s(*)
#  endif
# else
      real s(iparm(_JT_nold_)+1)
# 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(iparm(_JT_nold_)+1)
# endif
#endif
#ifdef use_allocatable
      real, allocatable, dimension(:) :: rt
#else
      pointer (iprt, rt)
# ifdef strict_f77
#  if defined(cray) || defined(hpux) || defined(fujitsu) || defined(irix) || defined(osf1)
      real rt(1)
#  else
      real rt(*)
#  endif
# else
      real rt(iparm(_JT_nold_)+1)
# 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(iparm(_JT_nold_)+1,iparm(_JT_nold_)+1)
# 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_),iparm(_JT_nold_)+1)
# 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
#ifdef use_allocatable
      real, allocatable, dimension(:) :: xt
#else
      pointer (ipxt, xt)
# ifdef strict_f77
#  if defined(cray) || defined(hpux) || defined(fujitsu) || defined(irix) || defined(osf1)
      real xt(1)
#  else
      real xt(*)
#  endif
# else
      real xt(ia(_JT_nrows_))
# endif
#endif