changeset 5524:794ea7ca1771

Fix compiling ARPACK with gcc 10 (part 2). * src/arpack-1-gcc10.patch: Cherry-pick another upstream patch.
author Markus Mützel <markus.muetzel@gmx.de>
date Mon, 31 Aug 2020 10:39:44 +0200
parents 5191e4789168
children aa46453cf597
files src/arpack-1-gcc10.patch
diffstat 1 files changed, 1205 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/arpack-1-gcc10.patch	Thu Aug 27 13:00:02 2020 +0200
+++ b/src/arpack-1-gcc10.patch	Mon Aug 31 10:39:44 2020 +0200
@@ -1,3 +1,1208 @@
+From 9418632214acf6d387896ab29a8f5bdff2d4e38a Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?David=20Schw=C3=B6rer?= <davidsch@fedoraproject.org>
+Date: Wed, 19 Feb 2020 20:07:47 +0000
+Subject: [PATCH] ?vout expects a vector, so make sure to pass a vector
+
+gcc10 throws an error otherwise
+
+diff --git a/SRC/cgetv0.f b/SRC/cgetv0.f
+index 322b35c7..a91ef926 100644
+--- a/SRC/cgetv0.f
++++ b/SRC/cgetv0.f
+@@ -361,9 +361,9 @@ subroutine cgetv0
+ c     %--------------------------------------%
+ c
+       if (msglvl .gt. 2) then
+-          call svout (logfil, 1, rnorm0, ndigit,
++          call svout (logfil, 1, [rnorm0], ndigit,
+      &                '_getv0: re-orthonalization ; rnorm0 is')
+-          call svout (logfil, 1, rnorm, ndigit,
++          call svout (logfil, 1, [rnorm], ndigit,
+      &                '_getv0: re-orthonalization ; rnorm is')
+       end if
+ c
+@@ -394,7 +394,7 @@ subroutine cgetv0
+    50 continue
+ c
+       if (msglvl .gt. 0) then
+-         call svout (logfil, 1, rnorm, ndigit,
++         call svout (logfil, 1, [rnorm], ndigit,
+      &        '_getv0: B-norm of initial / restarted starting vector')
+       end if
+       if (msglvl .gt. 2) then
+diff --git a/SRC/cnaitr.f b/SRC/cnaitr.f
+index 2bb93fff..bebd8236 100644
+--- a/SRC/cnaitr.f
++++ b/SRC/cnaitr.f
+@@ -378,9 +378,9 @@ subroutine cnaitr
+  1000 continue
+ c
+          if (msglvl .gt. 1) then
+-            call ivout (logfil, 1, j, ndigit,
++            call ivout (logfil, 1, [j], ndigit,
+      &                  '_naitr: generating Arnoldi vector number')
+-            call svout (logfil, 1, rnorm, ndigit,
++            call svout (logfil, 1, [rnorm], ndigit,
+      &                  '_naitr: B-norm of the current residual is')
+          end if
+ c
+@@ -400,7 +400,7 @@ subroutine cnaitr
+ c           %---------------------------------------------------%
+ c
+             if (msglvl .gt. 0) then
+-               call ivout (logfil, 1, j, ndigit,
++               call ivout (logfil, 1, [j], ndigit,
+      &                     '_naitr: ****** RESTART AT STEP ******')
+             end if
+ c
+@@ -729,7 +729,7 @@ subroutine cnaitr
+          end if
+ c
+          if (msglvl .gt. 0 .and. iter .gt. 0 ) then
+-            call ivout (logfil, 1, j, ndigit,
++            call ivout (logfil, 1, [j], ndigit,
+      &           '_naitr: Iterative refinement for Arnoldi residual')
+             if (msglvl .gt. 2) then
+                 rtemp(1) = rnorm
+diff --git a/SRC/cnapps.f b/SRC/cnapps.f
+index fdf878d8..c3a55623 100644
+--- a/SRC/cnapps.f
++++ b/SRC/cnapps.f
+@@ -268,9 +268,9 @@ subroutine cnapps
+          sigma = shift(jj)
+ c
+          if (msglvl .gt. 2 ) then
+-            call ivout (logfil, 1, jj, ndigit,
++            call ivout (logfil, 1, [jj], ndigit,
+      &               '_napps: shift number.')
+-            call cvout (logfil, 1, sigma, ndigit,
++            call cvout (logfil, 1, [sigma], ndigit,
+      &               '_napps: Value of the shift ')
+          end if
+ c
+@@ -291,9 +291,9 @@ subroutine cnapps
+             if ( abs(real(h(i+1,i)))
+      &           .le. max(ulp*tst1, smlnum) )  then
+                if (msglvl .gt. 0) then
+-                  call ivout (logfil, 1, i, ndigit,
++                  call ivout (logfil, 1, [i], ndigit,
+      &                 '_napps: matrix splitting at row/column no.')
+-                  call ivout (logfil, 1, jj, ndigit,
++                  call ivout (logfil, 1, [jj], ndigit,
+      &                 '_napps: matrix splitting with shift number.')
+                   call cvout (logfil, 1, h(i+1,i), ndigit,
+      &                 '_napps: off diagonal element.')
+@@ -307,9 +307,9 @@ subroutine cnapps
+    40    continue
+ c
+          if (msglvl .gt. 2) then
+-             call ivout (logfil, 1, istart, ndigit,
++             call ivout (logfil, 1, [istart], ndigit,
+      &                   '_napps: Start of current block ')
+-             call ivout (logfil, 1, iend, ndigit,
++             call ivout (logfil, 1, [iend], ndigit,
+      &                   '_napps: End of current block ')
+          end if
+ c
+@@ -485,7 +485,7 @@ subroutine cnapps
+      &        '_napps: sigmak = (e_{kev+p}^T*Q)*e_{kev}')
+          call cvout (logfil, 1, h(kev+1,kev), ndigit,
+      &        '_napps: betak = e_{kev+1}^T*H*e_{kev}')
+-         call ivout (logfil, 1, kev, ndigit,
++         call ivout (logfil, 1, [kev], ndigit,
+      &               '_napps: Order of the final Hessenberg matrix ')
+          if (msglvl .gt. 2) then
+             call cmout (logfil, kev, kev, h, ldh, ndigit,
+diff --git a/SRC/cnaup2.f b/SRC/cnaup2.f
+index e528a890..3f106f05 100644
+--- a/SRC/cnaup2.f
++++ b/SRC/cnaup2.f
+@@ -389,7 +389,7 @@ subroutine cnaup2
+          iter = iter + 1
+ c
+          if (msglvl .gt. 0) then
+-            call ivout (logfil, 1, iter, ndigit,
++            call ivout (logfil, 1, [iter], ndigit,
+      &           '_naup2: **** Start of major iteration number ****')
+          end if
+ c
+@@ -402,9 +402,9 @@ subroutine cnaup2
+          np  = kplusp - nev
+ c
+          if (msglvl .gt. 1) then
+-            call ivout (logfil, 1, nev, ndigit,
++            call ivout (logfil, 1, [nev], ndigit,
+      &     '_naup2: The length of the current Arnoldi factorization')
+-            call ivout (logfil, 1, np, ndigit,
++            call ivout (logfil, 1, [np], ndigit,
+      &           '_naup2: Extend the Arnoldi factorization by')
+          end if
+ c
+@@ -430,7 +430,7 @@ subroutine cnaup2
+          update = .false.
+ c
+          if (msglvl .gt. 1) then
+-            call svout (logfil, 1, rnorm, ndigit,
++            call svout (logfil, 1, [rnorm], ndigit,
+      &           '_naup2: Corresponding B-norm of the residual')
+          end if
+ c
+@@ -658,7 +658,7 @@ subroutine cnaup2
+          end if
+ c
+          if (msglvl .gt. 0) then
+-            call ivout (logfil, 1, nconv, ndigit,
++            call ivout (logfil, 1, [nconv], ndigit,
+      &           '_naup2: no. of "converged" Ritz values at this iter.')
+             if (msglvl .gt. 1) then
+                kp(1) = nev
+@@ -698,7 +698,7 @@ subroutine cnaup2
+          end if
+ c
+          if (msglvl .gt. 2) then
+-            call ivout (logfil, 1, np, ndigit,
++            call ivout (logfil, 1, [np], ndigit,
+      &                  '_naup2: The number of shifts to apply ')
+             call cvout (logfil, np, ritz, ndigit,
+      &                  '_naup2: values of the shifts')
+@@ -762,7 +762,7 @@ subroutine cnaup2
+          cnorm = .false.
+ c
+          if (msglvl .gt. 2) then
+-            call svout (logfil, 1, rnorm, ndigit,
++            call svout (logfil, 1, [rnorm], ndigit,
+      &      '_naup2: B-norm of residual for compressed factorization')
+             call cmout (logfil, nev, nev, h, ldh, ndigit,
+      &        '_naup2: Compressed upper Hessenberg matrix H')
+diff --git a/SRC/cnaupd.f b/SRC/cnaupd.f
+index 7bf37fd1..57be328b 100644
+--- a/SRC/cnaupd.f
++++ b/SRC/cnaupd.f
+@@ -601,9 +601,9 @@ subroutine cnaupd
+       if (info .eq. 2) info = 3
+ c
+       if (msglvl .gt. 0) then
+-         call ivout (logfil, 1, mxiter, ndigit,
++         call ivout (logfil, 1, [mxiter], ndigit,
+      &               '_naupd: Number of update iterations taken')
+-         call ivout (logfil, 1, np, ndigit,
++         call ivout (logfil, 1, [np], ndigit,
+      &               '_naupd: Number of wanted "converged" Ritz values')
+          call cvout (logfil, np, workl(ritz), ndigit,
+      &               '_naupd: The final Ritz values')
+diff --git a/SRC/cneupd.f b/SRC/cneupd.f
+index c557fa08..34a78f70 100644
+--- a/SRC/cneupd.f
++++ b/SRC/cneupd.f
+@@ -536,9 +536,9 @@ subroutine cneupd(rvec , howmny, select, d     ,
+ c        %-----------------------------------------------------------%
+ c
+          if (msglvl .gt. 2) then
+-             call ivout(logfil, 1, numcnv, ndigit,
++             call ivout(logfil, 1, [numcnv], ndigit,
+      &            '_neupd: Number of specified eigenvalues')
+-             call ivout(logfil, 1, nconv, ndigit,
++             call ivout(logfil, 1, [nconv], ndigit,
+      &            '_neupd: Number of "converged" eigenvalues')
+          end if
+ c
+diff --git a/SRC/cngets.f b/SRC/cngets.f
+index 7686e133..20626a2d 100644
+--- a/SRC/cngets.f
++++ b/SRC/cngets.f
+@@ -161,8 +161,8 @@ subroutine cngets ( ishift, which, kev, np, ritz, bounds)
+       tcgets = tcgets + (t1 - t0)
+ c
+       if (msglvl .gt. 0) then
+-         call ivout (logfil, 1, kev, ndigit, '_ngets: KEV is')
+-         call ivout (logfil, 1, np, ndigit, '_ngets: NP is')
++         call ivout (logfil, 1, [kev], ndigit, '_ngets: KEV is')
++         call ivout (logfil, 1, [np], ndigit, '_ngets: NP is')
+          call cvout (logfil, kev+np, ritz, ndigit,
+      &        '_ngets: Eigenvalues of current H matrix ')
+          call cvout (logfil, kev+np, bounds, ndigit,
+diff --git a/SRC/dgetv0.f b/SRC/dgetv0.f
+index fbb4fe2a..1d6dc01b 100644
+--- a/SRC/dgetv0.f
++++ b/SRC/dgetv0.f
+@@ -366,9 +366,9 @@ subroutine dgetv0
+ c     %--------------------------------------%
+ c
+       if (msglvl .gt. 2) then
+-          call dvout (logfil, 1, rnorm0, ndigit,
++          call dvout (logfil, 1, [rnorm0], ndigit,
+      &                '_getv0: re-orthonalization ; rnorm0 is')
+-          call dvout (logfil, 1, rnorm, ndigit,
++          call dvout (logfil, 1, [rnorm], ndigit,
+      &                '_getv0: re-orthonalization ; rnorm is')
+       end if
+ c
+@@ -399,7 +399,7 @@ subroutine dgetv0
+    50 continue
+ c
+       if (msglvl .gt. 0) then
+-         call dvout (logfil, 1, rnorm, ndigit,
++         call dvout (logfil, 1, [rnorm], ndigit,
+      &        '_getv0: B-norm of initial / restarted starting vector')
+       end if
+       if (msglvl .gt. 3) then
+diff --git a/SRC/dnaitr.f b/SRC/dnaitr.f
+index baaec038..c02cd390 100644
+--- a/SRC/dnaitr.f
++++ b/SRC/dnaitr.f
+@@ -371,9 +371,9 @@ subroutine dnaitr
+  1000 continue
+ c
+          if (msglvl .gt. 1) then
+-            call ivout (logfil, 1, j, ndigit,
++            call ivout (logfil, 1, [j], ndigit,
+      &                  '_naitr: generating Arnoldi vector number')
+-            call dvout (logfil, 1, rnorm, ndigit,
++            call dvout (logfil, 1, [rnorm], ndigit,
+      &                  '_naitr: B-norm of the current residual is')
+          end if
+ c
+@@ -393,7 +393,7 @@ subroutine dnaitr
+ c           %---------------------------------------------------%
+ c
+             if (msglvl .gt. 0) then
+-               call ivout (logfil, 1, j, ndigit,
++               call ivout (logfil, 1, [j], ndigit,
+      &                     '_naitr: ****** RESTART AT STEP ******')
+             end if
+ c
+@@ -721,7 +721,7 @@ subroutine dnaitr
+          end if
+ c
+          if (msglvl .gt. 0 .and. iter .gt. 0) then
+-            call ivout (logfil, 1, j, ndigit,
++            call ivout (logfil, 1, [j], ndigit,
+      &           '_naitr: Iterative refinement for Arnoldi residual')
+             if (msglvl .gt. 2) then
+                 xtemp(1) = rnorm
+diff --git a/SRC/dnapps.f b/SRC/dnapps.f
+index 872d35ae..7fb37d87 100644
+--- a/SRC/dnapps.f
++++ b/SRC/dnapps.f
+@@ -266,11 +266,11 @@ subroutine dnapps
+          sigmai = shifti(jj)
+ c
+          if (msglvl .gt. 2 ) then
+-            call ivout (logfil, 1, jj, ndigit,
++            call ivout (logfil, 1, [jj], ndigit,
+      &               '_napps: shift number.')
+-            call dvout (logfil, 1, sigmar, ndigit,
++            call dvout (logfil, 1, [sigmar], ndigit,
+      &               '_napps: The real part of the shift ')
+-            call dvout (logfil, 1, sigmai, ndigit,
++            call dvout (logfil, 1, [sigmai], ndigit,
+      &               '_napps: The imaginary part of the shift ')
+          end if
+ c
+@@ -335,9 +335,9 @@ subroutine dnapps
+      &         tst1 = dlanhs( '1', kplusp-jj+1, h, ldh, workl )
+             if( abs( h( i+1,i ) ).le.max( ulp*tst1, smlnum ) ) then
+                if (msglvl .gt. 0) then
+-                  call ivout (logfil, 1, i, ndigit,
++                  call ivout (logfil, 1, [i], ndigit,
+      &                 '_napps: matrix splitting at row/column no.')
+-                  call ivout (logfil, 1, jj, ndigit,
++                  call ivout (logfil, 1, [jj], ndigit,
+      &                 '_napps: matrix splitting with shift number.')
+                   call dvout (logfil, 1, h(i+1,i), ndigit,
+      &                 '_napps: off diagonal element.')
+@@ -351,9 +351,9 @@ subroutine dnapps
+    40    continue
+ c
+          if (msglvl .gt. 2) then
+-             call ivout (logfil, 1, istart, ndigit,
++             call ivout (logfil, 1, [istart], ndigit,
+      &                   '_napps: Start of current block ')
+-             call ivout (logfil, 1, iend, ndigit,
++             call ivout (logfil, 1, [iend], ndigit,
+      &                   '_napps: End of current block ')
+          end if
+ c
+@@ -627,7 +627,7 @@ subroutine dnapps
+      &        '_napps: sigmak = (e_{kev+p}^T*Q)*e_{kev}')
+          call dvout (logfil, 1, h(kev+1,kev), ndigit,
+      &        '_napps: betak = e_{kev+1}^T*H*e_{kev}')
+-         call ivout (logfil, 1, kev, ndigit,
++         call ivout (logfil, 1, [kev], ndigit,
+      &               '_napps: Order of the final Hessenberg matrix ')
+          if (msglvl .gt. 2) then
+             call dmout (logfil, kev, kev, h, ldh, ndigit,
+diff --git a/SRC/dnaup2.f b/SRC/dnaup2.f
+index 4c9948d4..18ad20a0 100644
+--- a/SRC/dnaup2.f
++++ b/SRC/dnaup2.f
+@@ -388,7 +388,7 @@ subroutine dnaup2
+          iter = iter + 1
+ c
+          if (msglvl .gt. 0) then
+-            call ivout (logfil, 1, iter, ndigit,
++            call ivout (logfil, 1, [iter], ndigit,
+      &           '_naup2: **** Start of major iteration number ****')
+          end if
+ c
+@@ -401,9 +401,9 @@ subroutine dnaup2
+          np  = kplusp - nev
+ c
+          if (msglvl .gt. 1) then
+-            call ivout (logfil, 1, nev, ndigit,
++            call ivout (logfil, 1, [nev], ndigit,
+      &     '_naup2: The length of the current Arnoldi factorization')
+-            call ivout (logfil, 1, np, ndigit,
++            call ivout (logfil, 1, [np], ndigit,
+      &           '_naup2: Extend the Arnoldi factorization by')
+          end if
+ c
+@@ -435,7 +435,7 @@ subroutine dnaup2
+          update = .false.
+ c
+          if (msglvl .gt. 1) then
+-            call dvout  (logfil, 1, rnorm, ndigit,
++            call dvout  (logfil, 1, [rnorm], ndigit,
+      &           '_naup2: Corresponding B-norm of the residual')
+          end if
+ c
+@@ -689,7 +689,7 @@ subroutine dnaup2
+          end if
+ c
+          if (msglvl .gt. 0) then
+-            call ivout (logfil, 1, nconv, ndigit,
++            call ivout (logfil, 1, [nconv], ndigit,
+      &           '_naup2: no. of "converged" Ritz values at this iter.')
+             if (msglvl .gt. 1) then
+                kp(1) = nev
+@@ -741,7 +741,7 @@ subroutine dnaup2
+          end if
+ c
+          if (msglvl .gt. 2) then
+-            call ivout (logfil, 1, np, ndigit,
++            call ivout (logfil, 1, [np], ndigit,
+      &                  '_naup2: The number of shifts to apply ')
+             call dvout  (logfil, np, ritzr, ndigit,
+      &                  '_naup2: Real part of the shifts')
+@@ -807,7 +807,7 @@ subroutine dnaup2
+          cnorm = .false.
+ c
+          if (msglvl .gt. 2) then
+-            call dvout  (logfil, 1, rnorm, ndigit,
++            call dvout  (logfil, 1, [rnorm], ndigit,
+      &      '_naup2: B-norm of residual for compressed factorization')
+             call dmout  (logfil, nev, nev, h, ldh, ndigit,
+      &        '_naup2: Compressed upper Hessenberg matrix H')
+diff --git a/SRC/dnaupd.f b/SRC/dnaupd.f
+index 51d3018e..dcf1f77a 100644
+--- a/SRC/dnaupd.f
++++ b/SRC/dnaupd.f
+@@ -628,9 +628,9 @@ subroutine dnaupd
+       if (info .eq. 2) info = 3
+ c
+       if (msglvl .gt. 0) then
+-         call ivout (logfil, 1, mxiter, ndigit,
++         call ivout (logfil, 1, [mxiter], ndigit,
+      &               '_naupd: Number of update iterations taken')
+-         call ivout (logfil, 1, np, ndigit,
++         call ivout (logfil, 1, [np], ndigit,
+      &               '_naupd: Number of wanted "converged" Ritz values')
+          call dvout  (logfil, np, workl(ritzr), ndigit,
+      &               '_naupd: Real part of the final Ritz values')
+diff --git a/SRC/dneupd.f b/SRC/dneupd.f
+index 424ad2bf..9c2ece0e 100644
+--- a/SRC/dneupd.f
++++ b/SRC/dneupd.f
+@@ -601,9 +601,9 @@ subroutine dneupd (rvec , howmny, select, dr    , di,
+ c        %-----------------------------------------------------------%
+ c
+          if (msglvl .gt. 2) then
+-             call ivout(logfil, 1, numcnv, ndigit,
++             call ivout(logfil, 1, [numcnv], ndigit,
+      &            '_neupd: Number of specified eigenvalues')
+-             call ivout(logfil, 1, nconv, ndigit,
++             call ivout(logfil, 1, [nconv], ndigit,
+      &            '_neupd: Number of "converged" eigenvalues')
+          end if
+ c
+diff --git a/SRC/dngets.f b/SRC/dngets.f
+index a3145506..47d3ac2c 100644
+--- a/SRC/dngets.f
++++ b/SRC/dngets.f
+@@ -212,8 +212,8 @@ subroutine dngets ( ishift, which, kev, np, ritzr, ritzi, bounds,
+       tngets = tngets + (t1 - t0)
+ c
+       if (msglvl .gt. 0) then
+-         call ivout (logfil, 1, kev, ndigit, '_ngets: KEV is')
+-         call ivout (logfil, 1, np, ndigit, '_ngets: NP is')
++         call ivout (logfil, 1, [kev], ndigit, '_ngets: KEV is')
++         call ivout (logfil, 1, [np], ndigit, '_ngets: NP is')
+          call dvout (logfil, kev+np, ritzr, ndigit,
+      &        '_ngets: Eigenvalues of current H matrix -- real part')
+          call dvout (logfil, kev+np, ritzi, ndigit,
+diff --git a/SRC/dsaitr.f b/SRC/dsaitr.f
+index 00dabfd2..3460d990 100644
+--- a/SRC/dsaitr.f
++++ b/SRC/dsaitr.f
+@@ -364,9 +364,9 @@ subroutine dsaitr
+  1000 continue
+ c
+          if (msglvl .gt. 2) then
+-            call ivout (logfil, 1, j, ndigit,
++            call ivout (logfil, 1, [j], ndigit,
+      &                  '_saitr: generating Arnoldi vector no.')
+-            call dvout (logfil, 1, rnorm, ndigit,
++            call dvout (logfil, 1, [rnorm], ndigit,
+      &                  '_saitr: B-norm of the current residual =')
+          end if
+ c
+@@ -384,7 +384,7 @@ subroutine dsaitr
+ c           %---------------------------------------------------%
+ c
+             if (msglvl .gt. 0) then
+-               call ivout (logfil, 1, j, ndigit,
++               call ivout (logfil, 1, [j], ndigit,
+      &                     '_saitr: ****** restart at step ******')
+             end if
+ c
+@@ -735,7 +735,7 @@ subroutine dsaitr
+          end if
+ c
+          if (msglvl .gt. 0 .and. iter .gt. 0) then
+-            call ivout (logfil, 1, j, ndigit,
++            call ivout (logfil, 1, [j], ndigit,
+      &           '_saitr: Iterative refinement for Arnoldi residual')
+             if (msglvl .gt. 2) then
+                 xtemp(1) = rnorm
+diff --git a/SRC/dsapps.f b/SRC/dsapps.f
+index 12108d0f..f84ef838 100644
+--- a/SRC/dsapps.f
++++ b/SRC/dsapps.f
+@@ -261,9 +261,9 @@ subroutine dsapps
+             big   = abs(h(i,2)) + abs(h(i+1,2))
+             if (h(i+1,1) .le. epsmch*big) then
+                if (msglvl .gt. 0) then
+-                  call ivout (logfil, 1, i, ndigit,
++                  call ivout (logfil, 1, [i], ndigit,
+      &                 '_sapps: deflation at row/column no.')
+-                  call ivout (logfil, 1, jj, ndigit,
++                  call ivout (logfil, 1, [jj], ndigit,
+      &                 '_sapps: occurred before shift number.')
+                   call dvout (logfil, 1, h(i+1,1), ndigit,
+      &                 '_sapps: the corresponding off diagonal element')
+@@ -432,7 +432,7 @@ subroutine dsapps
+          big   = abs(h(i,2)) + abs(h(i+1,2))
+          if (h(i+1,1) .le. epsmch*big) then
+             if (msglvl .gt. 0) then
+-               call ivout (logfil, 1, i, ndigit,
++               call ivout (logfil, 1, [i], ndigit,
+      &              '_sapps: deflation at row/column no.')
+                call dvout (logfil, 1, h(i+1,1), ndigit,
+      &              '_sapps: the corresponding off diagonal element')
+diff --git a/SRC/dsaup2.f b/SRC/dsaup2.f
+index f4c5f90c..f7d4a119 100644
+--- a/SRC/dsaup2.f
++++ b/SRC/dsaup2.f
+@@ -402,13 +402,13 @@ subroutine dsaup2
+          iter = iter + 1
+ c
+          if (msglvl .gt. 0) then
+-            call ivout (logfil, 1, iter, ndigit,
++            call ivout (logfil, 1, [iter], ndigit,
+      &           '_saup2: **** Start of major iteration number ****')
+          end if
+          if (msglvl .gt. 1) then
+-            call ivout (logfil, 1, nev, ndigit,
++            call ivout (logfil, 1, [nev], ndigit,
+      &     '_saup2: The length of the current Lanczos factorization')
+-            call ivout (logfil, 1, np, ndigit,
++            call ivout (logfil, 1, [np], ndigit,
+      &           '_saup2: Extend the Lanczos factorization by')
+          end if
+ c
+@@ -446,7 +446,7 @@ subroutine dsaup2
+          update = .false.
+ c
+          if (msglvl .gt. 1) then
+-            call dvout (logfil, 1, rnorm, ndigit,
++            call dvout (logfil, 1, [rnorm], ndigit,
+      &           '_saup2: Current B-norm of residual for factorization')
+          end if
+ c
+@@ -695,7 +695,7 @@ subroutine dsaup2
+          end if
+ c
+          if (msglvl .gt. 0) then
+-            call ivout (logfil, 1, nconv, ndigit,
++            call ivout (logfil, 1, [nconv], ndigit,
+      &           '_saup2: no. of "converged" Ritz values at this iter.')
+             if (msglvl .gt. 1) then
+                kp(1) = nev
+@@ -743,7 +743,7 @@ subroutine dsaup2
+          if (ishift .eq. 0) call dcopy (np, workl, 1, ritz, 1)
+ c
+          if (msglvl .gt. 2) then
+-            call ivout (logfil, 1, np, ndigit,
++            call ivout (logfil, 1, [np], ndigit,
+      &                  '_saup2: The number of shifts to apply ')
+             call dvout (logfil, np, workl, ndigit,
+      &                  '_saup2: shifts selected')
+@@ -810,7 +810,7 @@ subroutine dsaup2
+   130    continue
+ c
+          if (msglvl .gt. 2) then
+-            call dvout (logfil, 1, rnorm, ndigit,
++            call dvout (logfil, 1, [rnorm], ndigit,
+      &      '_saup2: B-norm of residual for NEV factorization')
+             call dvout (logfil, nev, h(1,2), ndigit,
+      &           '_saup2: main diagonal of compressed H matrix')
+diff --git a/SRC/dsaupd.f b/SRC/dsaupd.f
+index bd4afc26..c5b08d6b 100644
+--- a/SRC/dsaupd.f
++++ b/SRC/dsaupd.f
+@@ -628,9 +628,9 @@ subroutine dsaupd
+       if (info .eq. 2) info = 3
+ c
+       if (msglvl .gt. 0) then
+-         call ivout (logfil, 1, mxiter, ndigit,
++         call ivout (logfil, 1, [mxiter], ndigit,
+      &               '_saupd: number of update iterations taken')
+-         call ivout (logfil, 1, np, ndigit,
++         call ivout (logfil, 1, [np], ndigit,
+      &               '_saupd: number of "converged" Ritz values')
+          call dvout  (logfil, np, workl(Ritz), ndigit,
+      &               '_saupd: final Ritz values')
+diff --git a/SRC/dseupd.f b/SRC/dseupd.f
+index e89fdccf..ae123a20 100644
+--- a/SRC/dseupd.f
++++ b/SRC/dseupd.f
+@@ -513,9 +513,9 @@ subroutine dseupd (rvec  , howmny, select, d    ,
+ c        %-----------------------------------------------------------%
+ c
+          if (msglvl .gt. 2) then
+-             call ivout(logfil, 1, numcnv, ndigit,
++             call ivout(logfil, 1, [numcnv], ndigit,
+      &            '_seupd: Number of specified eigenvalues')
+-             call ivout(logfil, 1, nconv, ndigit,
++             call ivout(logfil, 1, [nconv], ndigit,
+      &            '_seupd: Number of "converged" eigenvalues')
+          end if
+ c
+diff --git a/SRC/dsgets.f b/SRC/dsgets.f
+index 800a02f4..436a4fe8 100644
+--- a/SRC/dsgets.f
++++ b/SRC/dsgets.f
+@@ -202,8 +202,8 @@ subroutine dsgets ( ishift, which, kev, np, ritz, bounds, shifts )
+       tsgets = tsgets + (t1 - t0)
+ c
+       if (msglvl .gt. 0) then
+-         call ivout (logfil, 1, kev, ndigit, '_sgets: KEV is')
+-         call ivout (logfil, 1, np, ndigit, '_sgets: NP is')
++         call ivout (logfil, 1, [kev], ndigit, '_sgets: KEV is')
++         call ivout (logfil, 1, [np], ndigit, '_sgets: NP is')
+          call dvout (logfil, kev+np, ritz, ndigit,
+      &        '_sgets: Eigenvalues of current H matrix')
+          call dvout (logfil, kev+np, bounds, ndigit,
+diff --git a/SRC/sgetv0.f b/SRC/sgetv0.f
+index c768daae..d861b2d6 100644
+--- a/SRC/sgetv0.f
++++ b/SRC/sgetv0.f
+@@ -366,9 +366,9 @@ subroutine sgetv0
+ c     %--------------------------------------%
+ c
+       if (msglvl .gt. 2) then
+-          call svout (logfil, 1, rnorm0, ndigit,
++          call svout (logfil, 1, [rnorm0], ndigit,
+      &                '_getv0: re-orthonalization ; rnorm0 is')
+-          call svout (logfil, 1, rnorm, ndigit,
++          call svout (logfil, 1, [rnorm], ndigit,
+      &                '_getv0: re-orthonalization ; rnorm is')
+       end if
+ c
+@@ -399,7 +399,7 @@ subroutine sgetv0
+    50 continue
+ c
+       if (msglvl .gt. 0) then
+-         call svout (logfil, 1, rnorm, ndigit,
++         call svout (logfil, 1, [rnorm], ndigit,
+      &        '_getv0: B-norm of initial / restarted starting vector')
+       end if
+       if (msglvl .gt. 3) then
+diff --git a/SRC/snaitr.f b/SRC/snaitr.f
+index 5ecdebb7..8a5d795b 100644
+--- a/SRC/snaitr.f
++++ b/SRC/snaitr.f
+@@ -371,9 +371,9 @@ subroutine snaitr
+  1000 continue
+ c
+          if (msglvl .gt. 1) then
+-            call ivout (logfil, 1, j, ndigit,
++            call ivout (logfil, 1, [j], ndigit,
+      &                  '_naitr: generating Arnoldi vector number')
+-            call svout (logfil, 1, rnorm, ndigit,
++            call svout (logfil, 1, [rnorm], ndigit,
+      &                  '_naitr: B-norm of the current residual is')
+          end if
+ c
+@@ -393,7 +393,7 @@ subroutine snaitr
+ c           %---------------------------------------------------%
+ c
+             if (msglvl .gt. 0) then
+-               call ivout (logfil, 1, j, ndigit,
++               call ivout (logfil, 1, [j], ndigit,
+      &                     '_naitr: ****** RESTART AT STEP ******')
+             end if
+ c
+@@ -721,7 +721,7 @@ subroutine snaitr
+          end if
+ c
+          if (msglvl .gt. 0 .and. iter .gt. 0) then
+-            call ivout (logfil, 1, j, ndigit,
++            call ivout (logfil, 1, [j], ndigit,
+      &           '_naitr: Iterative refinement for Arnoldi residual')
+             if (msglvl .gt. 2) then
+                 xtemp(1) = rnorm
+diff --git a/SRC/snapps.f b/SRC/snapps.f
+index 914c9b8b..9b767285 100644
+--- a/SRC/snapps.f
++++ b/SRC/snapps.f
+@@ -266,11 +266,11 @@ subroutine snapps
+          sigmai = shifti(jj)
+ c
+          if (msglvl .gt. 2 ) then
+-            call ivout (logfil, 1, jj, ndigit,
++            call ivout (logfil, 1, [jj], ndigit,
+      &               '_napps: shift number.')
+-            call svout (logfil, 1, sigmar, ndigit,
++            call svout (logfil, 1, [sigmar], ndigit,
+      &               '_napps: The real part of the shift ')
+-            call svout (logfil, 1, sigmai, ndigit,
++            call svout (logfil, 1, [sigmai], ndigit,
+      &               '_napps: The imaginary part of the shift ')
+          end if
+ c
+@@ -335,9 +335,9 @@ subroutine snapps
+      &         tst1 = slanhs( '1', kplusp-jj+1, h, ldh, workl )
+             if( abs( h( i+1,i ) ).le.max( ulp*tst1, smlnum ) ) then
+                if (msglvl .gt. 0) then
+-                  call ivout (logfil, 1, i, ndigit,
++                  call ivout (logfil, 1, [i], ndigit,
+      &                 '_napps: matrix splitting at row/column no.')
+-                  call ivout (logfil, 1, jj, ndigit,
++                  call ivout (logfil, 1, [jj], ndigit,
+      &                 '_napps: matrix splitting with shift number.')
+                   call svout (logfil, 1, h(i+1,i), ndigit,
+      &                 '_napps: off diagonal element.')
+@@ -351,9 +351,9 @@ subroutine snapps
+    40    continue
+ c
+          if (msglvl .gt. 2) then
+-             call ivout (logfil, 1, istart, ndigit,
++             call ivout (logfil, 1, [istart], ndigit,
+      &                   '_napps: Start of current block ')
+-             call ivout (logfil, 1, iend, ndigit,
++             call ivout (logfil, 1, [iend], ndigit,
+      &                   '_napps: End of current block ')
+          end if
+ c
+@@ -625,7 +625,7 @@ subroutine snapps
+      &        '_napps: sigmak = (e_{kev+p}^T*Q)*e_{kev}')
+          call svout (logfil, 1, h(kev+1,kev), ndigit,
+      &        '_napps: betak = e_{kev+1}^T*H*e_{kev}')
+-         call ivout (logfil, 1, kev, ndigit,
++         call ivout (logfil, 1, [kev], ndigit,
+      &               '_napps: Order of the final Hessenberg matrix ')
+          if (msglvl .gt. 2) then
+             call smout (logfil, kev, kev, h, ldh, ndigit,
+diff --git a/SRC/snaup2.f b/SRC/snaup2.f
+index 53e39461..12b2cfed 100644
+--- a/SRC/snaup2.f
++++ b/SRC/snaup2.f
+@@ -388,7 +388,7 @@ subroutine snaup2
+          iter = iter + 1
+ c
+          if (msglvl .gt. 0) then
+-            call ivout (logfil, 1, iter, ndigit,
++            call ivout (logfil, 1, [iter], ndigit,
+      &           '_naup2: **** Start of major iteration number ****')
+          end if
+ c
+@@ -401,9 +401,9 @@ subroutine snaup2
+          np  = kplusp - nev
+ c
+          if (msglvl .gt. 1) then
+-            call ivout (logfil, 1, nev, ndigit,
++            call ivout (logfil, 1, [nev], ndigit,
+      &     '_naup2: The length of the current Arnoldi factorization')
+-            call ivout (logfil, 1, np, ndigit,
++            call ivout (logfil, 1, [np], ndigit,
+      &           '_naup2: Extend the Arnoldi factorization by')
+          end if
+ c
+@@ -435,7 +435,7 @@ subroutine snaup2
+          update = .false.
+ c
+          if (msglvl .gt. 1) then
+-            call svout (logfil, 1, rnorm, ndigit,
++            call svout (logfil, 1, [rnorm], ndigit,
+      &           '_naup2: Corresponding B-norm of the residual')
+          end if
+ c
+@@ -690,7 +690,7 @@ subroutine snaup2
+          end if
+ c
+          if (msglvl .gt. 0) then
+-            call ivout (logfil, 1, nconv, ndigit,
++            call ivout (logfil, 1, [nconv], ndigit,
+      &           '_naup2: no. of "converged" Ritz values at this iter.')
+             if (msglvl .gt. 1) then
+                kp(1) = nev
+@@ -742,7 +742,7 @@ subroutine snaup2
+          end if
+ c
+          if (msglvl .gt. 2) then
+-            call ivout (logfil, 1, np, ndigit,
++            call ivout (logfil, 1, [np], ndigit,
+      &                  '_naup2: The number of shifts to apply ')
+             call svout (logfil, np, ritzr, ndigit,
+      &                  '_naup2: Real part of the shifts')
+@@ -808,7 +808,7 @@ subroutine snaup2
+          cnorm = .false.
+ c
+          if (msglvl .gt. 2) then
+-            call svout (logfil, 1, rnorm, ndigit,
++            call svout (logfil, 1, [rnorm], ndigit,
+      &      '_naup2: B-norm of residual for compressed factorization')
+             call smout (logfil, nev, nev, h, ldh, ndigit,
+      &        '_naup2: Compressed upper Hessenberg matrix H')
+diff --git a/SRC/snaupd.f b/SRC/snaupd.f
+index 19284d06..e0be1bfd 100644
+--- a/SRC/snaupd.f
++++ b/SRC/snaupd.f
+@@ -628,9 +628,9 @@ subroutine snaupd
+       if (info .eq. 2) info = 3
+ c
+       if (msglvl .gt. 0) then
+-         call ivout (logfil, 1, mxiter, ndigit,
++         call ivout (logfil, 1, [mxiter], ndigit,
+      &               '_naupd: Number of update iterations taken')
+-         call ivout (logfil, 1, np, ndigit,
++         call ivout (logfil, 1, [np], ndigit,
+      &               '_naupd: Number of wanted "converged" Ritz values')
+          call svout (logfil, np, workl(ritzr), ndigit,
+      &               '_naupd: Real part of the final Ritz values')
+diff --git a/SRC/sneupd.f b/SRC/sneupd.f
+index ecd8f164..4c472fef 100644
+--- a/SRC/sneupd.f
++++ b/SRC/sneupd.f
+@@ -601,9 +601,9 @@ subroutine sneupd(rvec , howmny, select, dr    , di,
+ c        %-----------------------------------------------------------%
+ c
+          if (msglvl .gt. 2) then
+-             call ivout(logfil, 1, numcnv, ndigit,
++             call ivout(logfil, 1, [numcnv], ndigit,
+      &            '_neupd: Number of specified eigenvalues')
+-             call ivout(logfil, 1, nconv, ndigit,
++             call ivout(logfil, 1, [nconv], ndigit,
+      &            '_neupd: Number of "converged" eigenvalues')
+          end if
+ c
+diff --git a/SRC/sngets.f b/SRC/sngets.f
+index 800282f8..7e48c0bb 100644
+--- a/SRC/sngets.f
++++ b/SRC/sngets.f
+@@ -212,8 +212,8 @@ subroutine sngets ( ishift, which, kev, np, ritzr, ritzi, bounds,
+       tngets = tngets + (t1 - t0)
+ c
+       if (msglvl .gt. 0) then
+-         call ivout (logfil, 1, kev, ndigit, '_ngets: KEV is')
+-         call ivout (logfil, 1, np, ndigit, '_ngets: NP is')
++         call ivout (logfil, 1, [kev], ndigit, '_ngets: KEV is')
++         call ivout (logfil, 1, [np], ndigit, '_ngets: NP is')
+          call svout (logfil, kev+np, ritzr, ndigit,
+      &        '_ngets: Eigenvalues of current H matrix -- real part')
+          call svout (logfil, kev+np, ritzi, ndigit,
+diff --git a/SRC/ssaitr.f b/SRC/ssaitr.f
+index 721bdb58..a5df2c2e 100644
+--- a/SRC/ssaitr.f
++++ b/SRC/ssaitr.f
+@@ -364,9 +364,9 @@ subroutine ssaitr
+  1000 continue
+ c
+          if (msglvl .gt. 2) then
+-            call ivout (logfil, 1, j, ndigit,
++            call ivout (logfil, 1, [j], ndigit,
+      &                  '_saitr: generating Arnoldi vector no.')
+-            call svout (logfil, 1, rnorm, ndigit,
++            call svout (logfil, 1, [rnorm], ndigit,
+      &                  '_saitr: B-norm of the current residual =')
+          end if
+ c
+@@ -384,7 +384,7 @@ subroutine ssaitr
+ c           %---------------------------------------------------%
+ c
+             if (msglvl .gt. 0) then
+-               call ivout (logfil, 1, j, ndigit,
++               call ivout (logfil, 1, [j], ndigit,
+      &                     '_saitr: ****** restart at step ******')
+             end if
+ c
+@@ -735,7 +735,7 @@ subroutine ssaitr
+          end if
+ c
+          if (msglvl .gt. 0 .and. iter .gt. 0) then
+-            call ivout (logfil, 1, j, ndigit,
++            call ivout (logfil, 1, [j], ndigit,
+      &           '_saitr: Iterative refinement for Arnoldi residual')
+             if (msglvl .gt. 2) then
+                 xtemp(1) = rnorm
+diff --git a/SRC/ssapps.f b/SRC/ssapps.f
+index c8143111..77bd9d52 100644
+--- a/SRC/ssapps.f
++++ b/SRC/ssapps.f
+@@ -261,9 +261,9 @@ subroutine ssapps
+             big   = abs(h(i,2)) + abs(h(i+1,2))
+             if (h(i+1,1) .le. epsmch*big) then
+                if (msglvl .gt. 0) then
+-                  call ivout (logfil, 1, i, ndigit,
++                  call ivout (logfil, 1, [i], ndigit,
+      &                 '_sapps: deflation at row/column no.')
+-                  call ivout (logfil, 1, jj, ndigit,
++                  call ivout (logfil, 1, [jj], ndigit,
+      &                 '_sapps: occurred before shift number.')
+                   call svout (logfil, 1, h(i+1,1), ndigit,
+      &                 '_sapps: the corresponding off diagonal element')
+@@ -432,7 +432,7 @@ subroutine ssapps
+          big   = abs(h(i,2)) + abs(h(i+1,2))
+          if (h(i+1,1) .le. epsmch*big) then
+             if (msglvl .gt. 0) then
+-               call ivout (logfil, 1, i, ndigit,
++               call ivout (logfil, 1, [i], ndigit,
+      &              '_sapps: deflation at row/column no.')
+                call svout (logfil, 1, h(i+1,1), ndigit,
+      &              '_sapps: the corresponding off diagonal element')
+diff --git a/SRC/ssaup2.f b/SRC/ssaup2.f
+index a73c9a58..8cc04638 100644
+--- a/SRC/ssaup2.f
++++ b/SRC/ssaup2.f
+@@ -402,13 +402,13 @@ subroutine ssaup2
+          iter = iter + 1
+ c
+          if (msglvl .gt. 0) then
+-            call ivout (logfil, 1, iter, ndigit,
++            call ivout (logfil, 1, [iter], ndigit,
+      &           '_saup2: **** Start of major iteration number ****')
+          end if
+          if (msglvl .gt. 1) then
+-            call ivout (logfil, 1, nev, ndigit,
++            call ivout (logfil, 1, [nev], ndigit,
+      &     '_saup2: The length of the current Lanczos factorization')
+-            call ivout (logfil, 1, np, ndigit,
++            call ivout (logfil, 1, [np], ndigit,
+      &           '_saup2: Extend the Lanczos factorization by')
+          end if
+ c
+@@ -446,7 +446,7 @@ subroutine ssaup2
+          update = .false.
+ c
+          if (msglvl .gt. 1) then
+-            call svout (logfil, 1, rnorm, ndigit,
++            call svout (logfil, 1, [rnorm], ndigit,
+      &           '_saup2: Current B-norm of residual for factorization')
+          end if
+ c
+@@ -694,7 +694,7 @@ subroutine ssaup2
+          end if
+ c
+          if (msglvl .gt. 0) then
+-            call ivout (logfil, 1, nconv, ndigit,
++            call ivout (logfil, 1, [nconv], ndigit,
+      &           '_saup2: no. of "converged" Ritz values at this iter.')
+             if (msglvl .gt. 1) then
+                kp(1) = nev
+@@ -742,7 +742,7 @@ subroutine ssaup2
+          if (ishift .eq. 0) call scopy (np, workl, 1, ritz, 1)
+ c
+          if (msglvl .gt. 2) then
+-            call ivout (logfil, 1, np, ndigit,
++            call ivout (logfil, 1, [np], ndigit,
+      &                  '_saup2: The number of shifts to apply ')
+             call svout (logfil, np, workl, ndigit,
+      &                  '_saup2: shifts selected')
+@@ -809,7 +809,7 @@ subroutine ssaup2
+   130    continue
+ c
+          if (msglvl .gt. 2) then
+-            call svout (logfil, 1, rnorm, ndigit,
++            call svout (logfil, 1, [rnorm], ndigit,
+      &      '_saup2: B-norm of residual for NEV factorization')
+             call svout (logfil, nev, h(1,2), ndigit,
+      &           '_saup2: main diagonal of compressed H matrix')
+diff --git a/SRC/ssaupd.f b/SRC/ssaupd.f
+index d139ac53..a8d2f2d5 100644
+--- a/SRC/ssaupd.f
++++ b/SRC/ssaupd.f
+@@ -628,9 +628,9 @@ subroutine ssaupd
+       if (info .eq. 2) info = 3
+ c
+       if (msglvl .gt. 0) then
+-         call ivout (logfil, 1, mxiter, ndigit,
++         call ivout (logfil, 1, [mxiter], ndigit,
+      &               '_saupd: number of update iterations taken')
+-         call ivout (logfil, 1, np, ndigit,
++         call ivout (logfil, 1, [np], ndigit,
+      &               '_saupd: number of "converged" Ritz values')
+          call svout (logfil, np, workl(Ritz), ndigit,
+      &               '_saupd: final Ritz values')
+diff --git a/SRC/sseupd.f b/SRC/sseupd.f
+index 9b94ed7c..03ba7ac5 100644
+--- a/SRC/sseupd.f
++++ b/SRC/sseupd.f
+@@ -513,9 +513,9 @@ subroutine sseupd(rvec  , howmny, select, d    ,
+ c        %-----------------------------------------------------------%
+ c
+          if (msglvl .gt. 2) then
+-             call ivout(logfil, 1, numcnv, ndigit,
++             call ivout(logfil, 1, [numcnv], ndigit,
+      &            '_seupd: Number of specified eigenvalues')
+-             call ivout(logfil, 1, nconv, ndigit,
++             call ivout(logfil, 1, [nconv], ndigit,
+      &            '_seupd: Number of "converged" eigenvalues')
+          end if
+ c
+diff --git a/SRC/ssgets.f b/SRC/ssgets.f
+index ce84d673..f40ca76a 100644
+--- a/SRC/ssgets.f
++++ b/SRC/ssgets.f
+@@ -202,8 +202,8 @@ subroutine ssgets ( ishift, which, kev, np, ritz, bounds, shifts )
+       tsgets = tsgets + (t1 - t0)
+ c
+       if (msglvl .gt. 0) then
+-         call ivout (logfil, 1, kev, ndigit, '_sgets: KEV is')
+-         call ivout (logfil, 1, np, ndigit, '_sgets: NP is')
++         call ivout (logfil, 1, [kev], ndigit, '_sgets: KEV is')
++         call ivout (logfil, 1, [np], ndigit, '_sgets: NP is')
+          call svout (logfil, kev+np, ritz, ndigit,
+      &        '_sgets: Eigenvalues of current H matrix')
+          call svout (logfil, kev+np, bounds, ndigit,
+diff --git a/SRC/zgetv0.f b/SRC/zgetv0.f
+index d71f3c03..ff5c2b19 100644
+--- a/SRC/zgetv0.f
++++ b/SRC/zgetv0.f
+@@ -361,9 +361,9 @@ subroutine zgetv0
+ c     %--------------------------------------%
+ c
+       if (msglvl .gt. 2) then
+-          call dvout (logfil, 1, rnorm0, ndigit,
++          call dvout (logfil, 1, [rnorm0], ndigit,
+      &                '_getv0: re-orthonalization ; rnorm0 is')
+-          call dvout (logfil, 1, rnorm, ndigit,
++          call dvout (logfil, 1, [rnorm], ndigit,
+      &                '_getv0: re-orthonalization ; rnorm is')
+       end if
+ c
+@@ -394,7 +394,7 @@ subroutine zgetv0
+    50 continue
+ c
+       if (msglvl .gt. 0) then
+-         call dvout (logfil, 1, rnorm, ndigit,
++         call dvout (logfil, 1, [rnorm], ndigit,
+      &        '_getv0: B-norm of initial / restarted starting vector')
+       end if
+       if (msglvl .gt. 2) then
+diff --git a/SRC/znaitr.f b/SRC/znaitr.f
+index b8331c06..1c5aa57f 100644
+--- a/SRC/znaitr.f
++++ b/SRC/znaitr.f
+@@ -378,9 +378,9 @@ subroutine znaitr
+  1000 continue
+ c
+          if (msglvl .gt. 1) then
+-            call ivout (logfil, 1, j, ndigit,
++            call ivout (logfil, 1, [j], ndigit,
+      &                  '_naitr: generating Arnoldi vector number')
+-            call dvout (logfil, 1, rnorm, ndigit,
++            call dvout (logfil, 1, [rnorm], ndigit,
+      &                  '_naitr: B-norm of the current residual is')
+          end if
+ c
+@@ -400,7 +400,7 @@ subroutine znaitr
+ c           %---------------------------------------------------%
+ c
+             if (msglvl .gt. 0) then
+-               call ivout (logfil, 1, j, ndigit,
++               call ivout (logfil, 1, [j], ndigit,
+      &                     '_naitr: ****** RESTART AT STEP ******')
+             end if
+ c
+@@ -729,7 +729,7 @@ subroutine znaitr
+          end if
+ c
+          if (msglvl .gt. 0 .and. iter .gt. 0 ) then
+-            call ivout (logfil, 1, j, ndigit,
++            call ivout (logfil, 1, [j], ndigit,
+      &           '_naitr: Iterative refinement for Arnoldi residual')
+             if (msglvl .gt. 2) then
+                 rtemp(1) = rnorm
+diff --git a/SRC/znapps.f b/SRC/znapps.f
+index a1f116d3..6d8d12a8 100644
+--- a/SRC/znapps.f
++++ b/SRC/znapps.f
+@@ -268,9 +268,9 @@ subroutine znapps
+          sigma = shift(jj)
+ c
+          if (msglvl .gt. 2 ) then
+-            call ivout (logfil, 1, jj, ndigit,
++            call ivout (logfil, 1, [jj], ndigit,
+      &               '_napps: shift number.')
+-            call zvout (logfil, 1, sigma, ndigit,
++            call zvout (logfil, 1, [sigma], ndigit,
+      &               '_napps: Value of the shift ')
+          end if
+ c
+@@ -291,9 +291,9 @@ subroutine znapps
+             if ( abs(dble(h(i+1,i)))
+      &           .le. max(ulp*tst1, smlnum) )  then
+                if (msglvl .gt. 0) then
+-                  call ivout (logfil, 1, i, ndigit,
++                  call ivout (logfil, 1, [i], ndigit,
+      &                 '_napps: matrix splitting at row/column no.')
+-                  call ivout (logfil, 1, jj, ndigit,
++                  call ivout (logfil, 1, [jj], ndigit,
+      &                 '_napps: matrix splitting with shift number.')
+                   call zvout (logfil, 1, h(i+1,i), ndigit,
+      &                 '_napps: off diagonal element.')
+@@ -307,9 +307,9 @@ subroutine znapps
+    40    continue
+ c
+          if (msglvl .gt. 2) then
+-             call ivout (logfil, 1, istart, ndigit,
++             call ivout (logfil, 1, [istart], ndigit,
+      &                   '_napps: Start of current block ')
+-             call ivout (logfil, 1, iend, ndigit,
++             call ivout (logfil, 1, [iend], ndigit,
+      &                   '_napps: End of current block ')
+          end if
+ c
+@@ -485,7 +485,7 @@ subroutine znapps
+      &        '_napps: sigmak = (e_{kev+p}^T*Q)*e_{kev}')
+          call zvout (logfil, 1, h(kev+1,kev), ndigit,
+      &        '_napps: betak = e_{kev+1}^T*H*e_{kev}')
+-         call ivout (logfil, 1, kev, ndigit,
++         call ivout (logfil, 1, [kev], ndigit,
+      &               '_napps: Order of the final Hessenberg matrix ')
+          if (msglvl .gt. 2) then
+             call zmout (logfil, kev, kev, h, ldh, ndigit,
+diff --git a/SRC/znaup2.f b/SRC/znaup2.f
+index 469aafb2..b814cf15 100644
+--- a/SRC/znaup2.f
++++ b/SRC/znaup2.f
+@@ -389,7 +389,7 @@ subroutine znaup2
+          iter = iter + 1
+ c
+          if (msglvl .gt. 0) then
+-            call ivout (logfil, 1, iter, ndigit,
++            call ivout (logfil, 1, [iter], ndigit,
+      &           '_naup2: **** Start of major iteration number ****')
+          end if
+ c
+@@ -402,9 +402,9 @@ subroutine znaup2
+          np  = kplusp - nev
+ c
+          if (msglvl .gt. 1) then
+-            call ivout (logfil, 1, nev, ndigit,
++            call ivout (logfil, 1, [nev], ndigit,
+      &     '_naup2: The length of the current Arnoldi factorization')
+-            call ivout (logfil, 1, np, ndigit,
++            call ivout (logfil, 1, [np], ndigit,
+      &           '_naup2: Extend the Arnoldi factorization by')
+          end if
+ c
+@@ -430,7 +430,7 @@ subroutine znaup2
+          update = .false.
+ c
+          if (msglvl .gt. 1) then
+-            call dvout  (logfil, 1, rnorm, ndigit,
++            call dvout  (logfil, 1, [rnorm], ndigit,
+      &           '_naup2: Corresponding B-norm of the residual')
+          end if
+ c
+@@ -658,7 +658,7 @@ subroutine znaup2
+          end if
+ c
+          if (msglvl .gt. 0) then
+-            call ivout (logfil, 1, nconv, ndigit,
++            call ivout (logfil, 1, [nconv], ndigit,
+      &           '_naup2: no. of "converged" Ritz values at this iter.')
+             if (msglvl .gt. 1) then
+                kp(1) = nev
+@@ -698,7 +698,7 @@ subroutine znaup2
+          end if
+ c
+          if (msglvl .gt. 2) then
+-            call ivout (logfil, 1, np, ndigit,
++            call ivout (logfil, 1, [np], ndigit,
+      &                  '_naup2: The number of shifts to apply ')
+             call zvout  (logfil, np, ritz, ndigit,
+      &                  '_naup2: values of the shifts')
+@@ -762,7 +762,7 @@ subroutine znaup2
+          cnorm = .false.
+ c
+          if (msglvl .gt. 2) then
+-            call dvout  (logfil, 1, rnorm, ndigit,
++            call dvout  (logfil, 1, [rnorm], ndigit,
+      &      '_naup2: B-norm of residual for compressed factorization')
+             call zmout  (logfil, nev, nev, h, ldh, ndigit,
+      &        '_naup2: Compressed upper Hessenberg matrix H')
+diff --git a/SRC/znaupd.f b/SRC/znaupd.f
+index 779eb2bc..c7d58aaa 100644
+--- a/SRC/znaupd.f
++++ b/SRC/znaupd.f
+@@ -601,9 +601,9 @@ subroutine znaupd
+       if (info .eq. 2) info = 3
+ c
+       if (msglvl .gt. 0) then
+-         call ivout (logfil, 1, mxiter, ndigit,
++         call ivout (logfil, 1, [mxiter], ndigit,
+      &               '_naupd: Number of update iterations taken')
+-         call ivout (logfil, 1, np, ndigit,
++         call ivout (logfil, 1, [np], ndigit,
+      &               '_naupd: Number of wanted "converged" Ritz values')
+          call zvout  (logfil, np, workl(ritz), ndigit,
+      &               '_naupd: The final Ritz values')
+diff --git a/SRC/zneupd.f b/SRC/zneupd.f
+index f1eb68a3..9889e30e 100644
+--- a/SRC/zneupd.f
++++ b/SRC/zneupd.f
+@@ -536,9 +536,9 @@ subroutine zneupd(rvec , howmny, select, d     ,
+ c        %-----------------------------------------------------------%
+ c
+          if (msglvl .gt. 2) then
+-             call ivout(logfil, 1, numcnv, ndigit,
++             call ivout(logfil, 1, [numcnv], ndigit,
+      &            '_neupd: Number of specified eigenvalues')
+-             call ivout(logfil, 1, nconv, ndigit,
++             call ivout(logfil, 1, [nconv], ndigit,
+      &            '_neupd: Number of "converged" eigenvalues')
+          end if
+ c
+diff --git a/SRC/zngets.f b/SRC/zngets.f
+index 27f25803..e7d24334 100644
+--- a/SRC/zngets.f
++++ b/SRC/zngets.f
+@@ -161,8 +161,8 @@ subroutine zngets ( ishift, which, kev, np, ritz, bounds)
+       tcgets = tcgets + (t1 - t0)
+ c
+       if (msglvl .gt. 0) then
+-         call ivout (logfil, 1, kev, ndigit, '_ngets: KEV is')
+-         call ivout (logfil, 1, np, ndigit, '_ngets: NP is')
++         call ivout (logfil, 1, [kev], ndigit, '_ngets: KEV is')
++         call ivout (logfil, 1, [np], ndigit, '_ngets: NP is')
+          call zvout (logfil, kev+np, ritz, ndigit,
+      &        '_ngets: Eigenvalues of current H matrix ')
+          call zvout (logfil, kev+np, bounds, ndigit,
+
+
 From ad82dcbc0beeed5616e2d5a28a089d9785f8b8b8 Mon Sep 17 00:00:00 2001
 From: dschwoerer <dschwoerer@users.noreply.github.com>
 Date: Mon, 24 Feb 2020 09:05:43 +0000