changeset 27026:ac5e5da675e3

avoid argument type mismatches in calls to xerrwd * xerror.f: Properly declare subroutine arguments. * sintdy.f, slsode.f: In calls to XERRWD, pass real values as doubles.
author John W. Eaton <jwe@octave.org>
date Wed, 03 Apr 2019 17:49:33 +0000
parents 77b0102d2298
children 2d36701216e9
files liboctave/external/odepack/sintdy.f liboctave/external/odepack/slsode.f liboctave/external/quadpack/xerror.f
diffstat 3 files changed, 51 insertions(+), 50 deletions(-) [+]
line wrap: on
line diff
--- a/liboctave/external/odepack/sintdy.f	Wed Apr 03 17:00:52 2019 +0000
+++ b/liboctave/external/odepack/sintdy.f	Wed Apr 03 17:49:33 2019 +0000
@@ -97,14 +97,14 @@
       RETURN
 C
  80   CALL XERRWD('SINTDY-  K (=I1) illegal      ',
-     1     30, 51, 0, 1, K, 0, 0, 0.0E0, 0.0E0)
+     1     30, 51, 0, 1, K, 0, 0, 0.0D0, 0.0D0)
       IFLAG = -1
       RETURN
  90   CALL XERRWD('SINTDY-  T (=R1) illegal      ',
-     1     30, 52, 0, 0, 0, 0, 1, T, 0.0E0)
+     1     30, 52, 0, 0, 0, 0, 1, DBLE (T), 0.0D0)
       CALL XERRWD(
      1   '      T not in interval TCUR - HU (= R1) to TCUR (=R2)      ',
-     1    60, 52, 0, 0, 0, 0, 2, TP, TN)
+     1    60, 52, 0, 0, 0, 0, 2, DBLE (TP), TN)
       IFLAG = -2
       RETURN
 C----------------------- END OF SUBROUTINE SINTDY ----------------------
--- a/liboctave/external/odepack/slsode.f	Wed Apr 03 17:00:52 2019 +0000
+++ b/liboctave/external/odepack/slsode.f	Wed Apr 03 17:49:33 2019 +0000
@@ -1508,17 +1508,17 @@
       NHNIL = NHNIL + 1
       IF (NHNIL .GT. MXHNIL) GO TO 290
       CALL XERRWD('SLSODE-  Warning..internal T (=R1) and H (=R2) are',
-     1     50, 101, 0, 0, 0, 0, 0, 0.0E0, 0.0E0)
+     1     50, 101, 0, 0, 0, 0, 0, 0.0D0, 0.0D0)
       CALL XERRWD(
      1  '      such that in the machine, T + H = T on the next step  ',
-     1     60, 101, 0, 0, 0, 0, 0, 0.0E0, 0.0E0)
+     1     60, 101, 0, 0, 0, 0, 0, 0.0D0, 0.0D0)
       CALL XERRWD('      (H = step size). Solver will continue anyway',
-     1     50, 101, 0, 0, 0, 0, 2, TN, H)
+     1     50, 101, 0, 0, 0, 0, 2, DBLE (TN), DBLE (H))
       IF (NHNIL .LT. MXHNIL) GO TO 290
       CALL XERRWD('SLSODE-  Above warning has been issued I1 times.  ',
-     1     50, 102, 0, 0, 0, 0, 0, 0.0E0, 0.0E0)
+     1     50, 102, 0, 0, 0, 0, 0, 0.0D0, 0.0D0)
       CALL XERRWD('      It will not be issued again for this problem',
-     1     50, 102, 0, 1, MXHNIL, 0, 0, 0.0E0, 0.0E0)
+     1     50, 102, 0, 1, MXHNIL, 0, 0, 0.0D0, 0.0D0)
  290  CONTINUE
 C-----------------------------------------------------------------------
 C  CALL SSTODE(NEQ,Y,YH,NYH,YH,EWT,SAVF,ACOR,WM,IWM,F,JAC,SPREPJ,SSOLSY)
@@ -1591,39 +1591,39 @@
 C-----------------------------------------------------------------------
 C The maximum number of steps was taken before reaching TOUT. ----------
  500  CALL XERRWD('SLSODE-  At current T (=R1), MXSTEP (=I1) steps   ',
-     1 50, 201, 0, 0, 0, 0, 0, 0.0E0, 0.0E0)
+     1 50, 201, 0, 0, 0, 0, 0, 0.0D0, 0.0D0)
       CALL XERRWD('      taken on this call before reaching TOUT     ',
-     1     50, 201, 0, 1, MXSTEP, 0, 1, TN, 0.0E0)
+     1     50, 201, 0, 1, MXSTEP, 0, 1, DBLE (TN), 0.0D0)
       ISTATE = -1
       GO TO 580
 C EWT(I) .LE. 0.0 for some I (not at start of problem). ----------------
  510  EWTI = RWORK(LEWT+I-1)
       CALL XERRWD('SLSODE-  At T (=R1), EWT(I1) has become R2 .LE. 0.',
-     1 50, 202, 0, 1, I, 0, 2, TN, EWTI)
+     1 50, 202, 0, 1, I, 0, 2, DBLE (TN), DBLE (EWTI))
       ISTATE = -6
       GO TO 580
 C Too much accuracy requested for machine precision. -------------------
  520  CALL XERRWD('SLSODE-  At T (=R1), too much accuracy requested  ',
-     1     50, 203, 0, 0, 0, 0, 0, 0.0E0, 0.0E0)
+     1     50, 203, 0, 0, 0, 0, 0, 0.0D0, 0.0D0)
       CALL XERRWD('      for precision of machine..  see TOLSF (=R2) ',
-     1     50, 203, 0, 0, 0, 0, 2, TN, TOLSF)
+     1     50, 203, 0, 0, 0, 0, 2, DBLE (TN), DBLE (TOLSF))
       RWORK(14) = TOLSF
       ISTATE = -2
       GO TO 580
 C KFLAG = -1.  Error test failed repeatedly or with ABS(H) = HMIN. -----
  530  CALL XERRWD('SLSODE-  At T(=R1) and step size H(=R2), the error',
-     1     50, 204, 0, 0, 0, 0, 0, 0.0E0, 0.0E0)
+     1     50, 204, 0, 0, 0, 0, 0, 0.0D0, 0.0D0)
       CALL XERRWD('      test failed repeatedly or with ABS(H) = HMIN',
-     1     50, 204, 0, 0, 0, 0, 2, TN, H)
+     1     50, 204, 0, 0, 0, 0, 2, DBLE (TN), DBLE (H))
       ISTATE = -4
       GO TO 560
 C KFLAG = -2.  Convergence failed repeatedly or with ABS(H) = HMIN. ----
  540  CALL XERRWD('SLSODE-  At T (=R1) and step size H (=R2), the    ',
-     1     50, 205, 0, 0, 0, 0, 0, 0.0E0, 0.0E0)
+     1     50, 205, 0, 0, 0, 0, 0, 0.0D0, 0.0D0)
       CALL XERRWD('      corrector convergence failed repeatedly     ',
-     1     50, 205, 0, 0, 0, 0, 0, 0.0E0, 0.0E0)
+     1     50, 205, 0, 0, 0, 0, 0, 0.0D0, 0.0D0)
       CALL XERRWD('      or with ABS(H) = HMIN   ',
-     1     30, 205, 0, 0, 0, 0, 2, TN, H)
+     1     30, 205, 0, 0, 0, 0, 2, DBLE (TN), DBLE (H))
       ISTATE = -5
 C Compute IMXER if relevant. -------------------------------------------
  560  BIG = 0.0E0
@@ -1656,105 +1656,105 @@
 C is a negative ISTATE, the run is aborted (apparent infinite loop).
 C-----------------------------------------------------------------------
  601  CALL XERRWD('SLSODE-  ISTATE (=I1) illegal ',
-     1     30, 1, 0, 1, ISTATE, 0, 0, 0.0E0, 0.0E0)
+     1     30, 1, 0, 1, ISTATE, 0, 0, 0.0D0, 0.0D0)
       IF (ISTATE .LT. 0) GO TO 800
       GO TO 700
  602  CALL XERRWD('SLSODE-  ITASK (=I1) illegal  ',
-     1     30, 2, 0, 1, ITASK, 0, 0, 0.0E0, 0.0E0)
+     1     30, 2, 0, 1, ITASK, 0, 0, 0.0D0, 0.0D0)
       GO TO 700
  603  CALL XERRWD('SLSODE-  ISTATE .GT. 1 but SLSODE not initialized ',
-     1     50, 3, 0, 0, 0, 0, 0, 0.0E0, 0.0E0)
+     1     50, 3, 0, 0, 0, 0, 0, 0.0D0, 0.0D0)
       GO TO 700
  604  CALL XERRWD('SLSODE-  NEQ (=I1) .LT. 1     ',
-     1     30, 4, 0, 1, NEQ(1), 0, 0, 0.0E0, 0.0E0)
+     1     30, 4, 0, 1, NEQ(1), 0, 0, 0.0D0, 0.0D0)
       GO TO 700
  605  CALL XERRWD('SLSODE-  ISTATE = 3 and NEQ increased (I1 to I2)  ',
-     1     50, 5, 0, 2, N, NEQ(1), 0, 0.0E0, 0.0E0)
+     1     50, 5, 0, 2, N, NEQ(1), 0, 0.0D0, 0.0D0)
       GO TO 700
  606  CALL XERRWD('SLSODE-  ITOL (=I1) illegal   ',
-     1     30, 6, 0, 1, ITOL, 0, 0, 0.0E0, 0.0E0)
+     1     30, 6, 0, 1, ITOL, 0, 0, 0.0D0, 0.0D0)
       GO TO 700
  607  CALL XERRWD('SLSODE-  IOPT (=I1) illegal   ',
-     1     30, 7, 0, 1, IOPT, 0, 0, 0.0E0, 0.0E0)
+     1     30, 7, 0, 1, IOPT, 0, 0, 0.0D0, 0.0D0)
       GO TO 700
  608  CALL XERRWD('SLSODE-  MF (=I1) illegal     ',
-     1     30, 8, 0, 1, MF, 0, 0, 0.0E0, 0.0E0)
+     1     30, 8, 0, 1, MF, 0, 0, 0.0D0, 0.0D0)
       GO TO 700
  609  CALL XERRWD('SLSODE-  ML (=I1) illegal.. .LT.0 or .GE.NEQ (=I2)',
-     1     50, 9, 0, 2, ML, NEQ(1), 0, 0.0E0, 0.0E0)
+     1     50, 9, 0, 2, ML, NEQ(1), 0, 0.0D0, 0.0D0)
       GO TO 700
  610  CALL XERRWD('SLSODE-  MU (=I1) illegal.. .LT.0 or .GE.NEQ (=I2)',
-     1     50, 10, 0, 2, MU, NEQ(1), 0, 0.0E0, 0.0E0)
+     1     50, 10, 0, 2, MU, NEQ(1), 0, 0.0D0, 0.0D0)
       GO TO 700
  611  CALL XERRWD('SLSODE-  MAXORD (=I1) .LT. 0  ',
-     1     30, 11, 0, 1, MAXORD, 0, 0, 0.0E0, 0.0E0)
+     1     30, 11, 0, 1, MAXORD, 0, 0, 0.0D0, 0.0D0)
       GO TO 700
  612  CALL XERRWD('SLSODE-  MXSTEP (=I1) .LT. 0  ',
-     1 30, 12, 0, 1, MXSTEP, 0, 0, 0.0E0, 0.0E0)
+     1 30, 12, 0, 1, MXSTEP, 0, 0, 0.0D0, 0.0D0)
       GO TO 700
  613  CALL XERRWD('SLSODE-  MXHNIL (=I1) .LT. 0  ',
-     1     30, 13, 0, 1, MXHNIL, 0, 0, 0.0E0, 0.0E0)
+     1     30, 13, 0, 1, MXHNIL, 0, 0, 0.0D0, 0.0D0)
       GO TO 700
  614  CALL XERRWD('SLSODE-  TOUT (=R1) behind T (=R2)      ',
-     1     40, 14, 0, 0, 0, 0, 2, TOUT, T)
+     1     40, 14, 0, 0, 0, 0, 2, DBLE (TOUT), DBLE (T))
       CALL XERRWD('      Integration direction is given by H0 (=R1)  ',
-     1     50, 14, 0, 0, 0, 0, 1, H0, 0.0E0)
+     1     50, 14, 0, 0, 0, 0, 1, DBLE (H0), 0.0D0)
       GO TO 700
  615  CALL XERRWD('SLSODE-  HMAX (=R1) .LT. 0.0  ',
-     1     30, 15, 0, 0, 0, 0, 1, HMAX, 0.0E0)
+     1     30, 15, 0, 0, 0, 0, 1, DBLE (HMAX), 0.0D0)
       GO TO 700
  616  CALL XERRWD('SLSODE-  HMIN (=R1) .LT. 0.0  ',
-     1     30, 16, 0, 0, 0, 0, 1, HMIN, 0.0E0)
+     1     30, 16, 0, 0, 0, 0, 1, DBLE (HMIN), 0.0D0)
       GO TO 700
  617  CALL XERRWD(
      1  'SLSODE-  RWORK length needed, LENRW (=I1), exceeds LRW (=I2)',
-     1   60, 17, 0, 2, LENRW, LRW, 0, 0.0E0, 0.0E0)
+     1   60, 17, 0, 2, LENRW, LRW, 0, 0.0D0, 0.0D0)
       GO TO 700
  618  CALL XERRWD(
      1   'SLSODE-  IWORK length needed, LENIW (=I1), exceeds LIW (=I2)',
-     1    60, 18, 0, 2, LENIW, LIW, 0, 0.0E0, 0.0E0)
+     1    60, 18, 0, 2, LENIW, LIW, 0, 0.0D0, 0.0D0)
       GO TO 700
  619  CALL XERRWD('SLSODE-  RTOL(I1) is R1 .LT. 0.0        ',
-     1     40, 19, 0, 1, I, 0, 1, RTOLI, 0.0E0)
+     1     40, 19, 0, 1, I, 0, 1, DBLE (RTOLI), 0.0D0)
       GO TO 700
  620  CALL XERRWD('SLSODE-  ATOL(I1) is R1 .LT. 0.0        ',
-     1     40, 20, 0, 1, I, 0, 1, ATOLI, 0.0E0)
+     1     40, 20, 0, 1, I, 0, 1, DBLE (ATOLI), 0.0D0)
       GO TO 700
  621  EWTI = RWORK(LEWT+I-1)
       CALL XERRWD('SLSODE-  EWT(I1) is R1 .LE. 0.0         ',
-     1     40, 21, 0, 1, I, 0, 1, EWTI, 0.0E0)
+     1     40, 21, 0, 1, I, 0, 1, DBLE (EWTI), 0.0D0)
       GO TO 700
  622  CALL XERRWD(
      1   'SLSODE-  TOUT (=R1) too close to T(=R2) to start integration',
-     1     60, 22, 0, 0, 0, 0, 2, TOUT, T)
+     1     60, 22, 0, 0, 0, 0, 2, DBLE (TOUT), DBLE (T))
       GO TO 700
  623  CALL XERRWD(
      1 'SLSODE-  ITASK = I1 and TOUT (=R1) behind TCUR - HU (= R2)  ',
-     1     60, 23, 0, 1, ITASK, 0, 2, TOUT, TP)
+     1     60, 23, 0, 1, ITASK, 0, 2, DBLE (TOUT), DBLE (TP))
       GO TO 700
  624  CALL XERRWD(
      1   'SLSODE-  ITASK = 4 OR 5 and TCRIT (=R1) behind TCUR (=R2)   ',
-     1    60, 24, 0, 0, 0, 0, 2, TCRIT, TN)
+     1    60, 24, 0, 0, 0, 0, 2, DBLE (TCRIT), DBLE (TN))
       GO TO 700
  625  CALL XERRWD(
      1  'SLSODE-  ITASK = 4 or 5 and TCRIT (=R1) behind TOUT (=R2)   ',
-     1   60, 25, 0, 0, 0, 0, 2, TCRIT, TOUT)
+     1   60, 25, 0, 0, 0, 0, 2, DBLE (TCRIT), DBLE (TOUT))
       GO TO 700
  626  CALL XERRWD('SLSODE-  At start of problem, too much accuracy   ',
-     1     50, 26, 0, 0, 0, 0, 0, 0.0E0, 0.0E0)
+     1     50, 26, 0, 0, 0, 0, 0, 0.0D0, 0.0D0)
       CALL XERRWD(
      1   '      requested for precision of machine..  See TOLSF (=R1) ',
-     1    60, 26, 0, 0, 0, 0, 1, TOLSF, 0.0E0)
+     1    60, 26, 0, 0, 0, 0, 1, DBLE (TOLSF), 0.0D0)
       RWORK(14) = TOLSF
       GO TO 700
  627  CALL XERRWD('SLSODE-  Trouble in SINTDY.  ITASK = I1, TOUT = R1',
-     1     50, 27, 0, 1, ITASK, 0, 1, TOUT, 0.0E0)
+     1     50, 27, 0, 1, ITASK, 0, 1, DBLE (TOUT), 0.0D0)
 C
  700  ISTATE = -3
       RETURN
 C
  800  CALL XERRWD('SLSODE-  Run aborted.. apparent infinite loop     ',
-     1     50, 303, 2, 0, 0, 0, 0, 0.0E0, 0.0E0)
+     1     50, 303, 2, 0, 0, 0, 0, 0.0D0, 0.0D0)
       RETURN
 C----------------------- END OF SUBROUTINE SLSODE ----------------------
       END
--- a/liboctave/external/quadpack/xerror.f	Wed Apr 03 17:00:52 2019 +0000
+++ b/liboctave/external/quadpack/xerror.f	Wed Apr 03 17:49:33 2019 +0000
@@ -33,7 +33,8 @@
 C     WRITTEN BY RON JONES, WITH SLATEC COMMON MATH LIBRARY SUBCOMMITTEE
 C     LATEST REVISION ---  7 FEB 1979
 C
-      DIMENSION MESSG(NMESSG)
-      CALL XERRWD(MESSG,NMESSG,NERR,LEVEL,0,0,0,0,0.,0.)
+      CHARACTER*(*) MESSG
+      INTEGER NMESSG, NERR, LEVEL
+      CALL XERRWD(MESSG,NMESSG,NERR,LEVEL,0,0,0,0,0.0D0,0.0D0)
       RETURN
       END