You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Recent gfortran doesn't like some old Fortran features.
Problem BLEACHNG... EXTER.f:1652:72:
1652 | 26 IF (IOPT(I) .LT. 0 .OR. IOPT(I) .GT. 1) GO TO 607
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 26 at (1)
EXTER.f:1746:72:
1746 | 80 RWORK(I+LSAVF-1) = RWORK(I+LWM-1)
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 80 at (1)
EXTER.f:1790:72:
1790 | 110 IWORK(J + LNRS - 1) = 0
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 110 at (1)
EXTER.f:1793:72:
1793 | 115 RWORK(I+LYH-1) = Y(I)
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 115 at (1)
EXTER.f:1800:72:
1800 | 120 RWORK(I+LEWT-1) = ONE/RWORK(I+LEWT-1)
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 120 at (1)
EXTER.f:1833:72:
1833 | 130 TOL = MAX(TOL,RTOL(I))
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 130 at (1)
EXTER.f:1854:72:
1854 | 190 RWORK(I+LF0-1) = H0*RWORK(I+LF0-1)
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 190 at (1)
EXTER.f:1906:72:
1906 | 260 RWORK(I+LEWT-1) = ONE/RWORK(I+LEWT-1)
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 260 at (1)
EXTER.f:1977:72:
1977 | 410 Y(I) = RWORK(I+LYH-1)
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 410 at (1)
EXTER.f:2057:72:
2057 | 590 Y(I) = RWORK(I+LYH-1)
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 590 at (1)
EXTER.f:2395:72:
2395 | 110 WM(I+2) = ZERO
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 110 at (1)
EXTER.f:2400:72:
2400 | 120 WM(I+2) = WM(I+2)*CON
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 120 at (1)
EXTER.f:2415:72:
2415 | 220 WM(I+J1) = (FTEM(I) - SAVF(I))*FAC
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 220 at (1)
EXTER.f:2425:72:
2425 | 250 J = J + (N + 1)
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 250 at (1)
EXTER.f:2434:72:
2434 | 310 Y(I) = Y(I) + R*(H*SAVF(I) - YH(I,2))
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 310 at (1)
EXTER.f:2456:72:
2456 | 410 WM(I+2) = ZERO
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 410 at (1)
EXTER.f:2461:72:
2461 | 420 WM(I+2) = WM(I+2)*CON
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 420 at (1)
EXTER.f:2478:72:
2478 | 530 Y(I) = Y(I) + R
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 530 at (1)
EXTER.f:2489:72:
2489 | 540 WM(II+I) = (FTEM(I) - SAVF(I))*FAC
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 540 at (1)
EXTER.f:2498:72:
2498 | 580 II = II + MEBAND
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 580 at (1)
EXTER.f:2547:72:
2547 | 110 DFDP(I) = (FTEM(I) - SAVF(I))*FAC
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 110 at (1)
EXTER.f:2553:72:
2553 | 210 DFDP(I) = 0.0D0
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 210 at (1)
EXTER.f:2596:72:
2596 | 10 IC = IC*JJ
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 10 at (1)
EXTER.f:2599:72:
2599 | 20 DKY(I) = C*YH(I,L)
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 20 at (1)
EXTER.f:2609:72:
2609 | 30 IC = IC*JJ
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 30 at (1)
EXTER.f:2612:72:
2612 | 40 DKY(I) = C*YH(I,JP1) + S*DKY(I)
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 40 at (1)
EXTER.f:2617:72:
2617 | 60 DKY(I) = R*DKY(I)
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 60 at (1)
EXTER.f:2696:72:
2696 | 20 Y(I,2) = Y(I,1)
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 20 at (1)
EXTER.f:2719:72:
2719 | 40 Y(I,J) = YH(I,J,1) - EL0*YH(I,J,2) + HL0*Y(I,J)
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 40 at (1)
EXTER.f:2731:72:
2731 | 50 ACOR(I,J) = (Y(I,J) - YH(I,J,1))*EL0I
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 50 at (1)
EXTER.f:2742:72:
2742 | 60 Y(I,J) = ACOR(I,J) - YH(I,J,LMAX)
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 60 at (1)
EXTER.f:2927:72:
2927 | 125 EL(I) = ELCO(I,NQ)
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 125 at (1)
EXTER.f:2948:72:
2948 | 155 EL(I) = ELCO(I,NQ)
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 155 at (1)
EXTER.f:2971:72:
2971 | DO 180 I = 1,NYH
| 1
Warning: Fortran 2018 deleted feature: Shared DO termination label 180 at (1)
EXTER.f:2972:72:
2972 | 180 YH(I,J) = YH(I,J)*R
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 180 at (1)
EXTER.f:2993:72:
2993 | 210 YH1(I) = YH1(I) + YH1(I+NYH)
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 210 at (1)
EXTER.f:3005:72:
3005 | 230 Y(I) = YH(I,1)
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 230 at (1)
EXTER.f:3022:72:
3022 | 260 ACOR(I) = ZERO
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 260 at (1)
EXTER.f:3031:72:
3031 | 290 Y(I) = SAVF(I) - ACOR(I)
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 290 at (1)
EXTER.f:3035:72:
3035 | 300 ACOR(I) = SAVF(I)
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 300 at (1)
EXTER.f:3043:72:
3043 | 360 Y(I) = H*SAVF(I) - (YH(I,2) + ACOR(I))
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 360 at (1)
EXTER.f:3050:72:
3050 | 380 Y(I) = YH(I,1) + EL(1)*ACOR(I)
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 380 at (1)
EXTER.f:3084:72:
3084 | 440 YH1(I) = YH1(I) - YH1(I+NYH)
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 440 at (1)
EXTER.f:3133:72:
3133 | DO 470 I = 1,NYH
| 1
Warning: Fortran 2018 deleted feature: Shared DO termination label 470 at (1)
EXTER.f:3134:72:
3134 | 470 YH(I,J) = YH(I,J) + EL(J)*ACOR(I)
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 470 at (1)
EXTER.f:3140:72:
3140 | 490 YH(I,LMAX) = ACOR(I)
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 490 at (1)
EXTER.f:3157:72:
3157 | 510 YH1(I) = YH1(I) - YH1(I+NYH)
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 510 at (1)
EXTER.f:3180:72:
3180 | 530 SAVF(I) = ACOR(I) - YH(I,LMAX)
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 530 at (1)
EXTER.f:3216:72:
3216 | 600 YH(I,NEWQ+1) = ACOR(I)*R
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 600 at (1)
EXTER.f:3246:72:
3246 | 645 Y(I) = YH(I,1)
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 645 at (1)
EXTER.f:3254:72:
3254 | 646 YH(I,2) = H*YH(I,2)
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 646 at (1)
EXTER.f:3256:72:
3256 | 650 YH(I,2) = H*SAVF(I)
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 650 at (1)
EXTER.f:3277:72:
3277 | 710 ACOR(I) = ACOR(I)*R
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 710 at (1)
EXTER.f:3340:72:
3340 | 110 PC(I) = PC(I-1) + FNQM1*PC(I)
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 110 at (1)
EXTER.f:3349:72:
3349 | 120 XPIN = XPIN + TSIGN*PC(I)/REAL(I+1)
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 120 at (1)
EXTER.f:3354:72:
3354 | 130 ELCO(I+1,NQ) = RQ1FAC*PC(I)/REAL(I)
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 130 at (1)
EXTER.f:3377:72:
3377 | 210 PC(I) = PC(I-1) + FNQ*PC(I)
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 210 at (1)
EXTER.f:3381:72:
3381 | 220 ELCO(I,NQ) = PC(I)/PC(2)
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 220 at (1)
EXTER.f:3437:72:
3437 | 320 WM(I+2) = ONE/DI
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 320 at (1)
EXTER.f:3439:72:
3439 | 340 X(I) = WM(I+2)*X(I)
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 340 at (1)
EXTER.f:3558:72:
3558 | 10 RSAV(I) = RODE1(I)
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 10 at (1)
EXTER.f:3561:72:
3561 | 20 RSAV(J) = RODE2(I)
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 20 at (1)
EXTER.f:3563:72:
3563 | 30 ISAV(I) = IODE1(I)
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 30 at (1)
EXTER.f:3566:72:
3566 | 40 ISAV(J) = IODE2(I)
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 40 at (1)
EXTER.f:3587:72:
3587 | 10 RODE1(I) = RSAV(I)
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 10 at (1)
EXTER.f:3590:72:
3590 | 20 RODE2(I) = RSAV(J)
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 20 at (1)
EXTER.f:3592:72:
3592 | 30 IODE1(I) = ISAV(I)
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 30 at (1)
EXTER.f:3595:72:
3595 | 40 IODE2(I) = ISAV(J)
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 40 at (1)
The text was updated successfully, but these errors were encountered:
Yup, this is a Fortran 2018 feature, but it can easily be removed with a compiler flag -st-legacy . Many HSL packages (e.g., MA27) also fall foul of this, and it is very unlikely that
gfortran will actually enforce this due to the huge volume of unmaintained legacy code.
It isn't actually a bug in SIF though, as SIF specifies that arithemtic expressions adhere to the fortran 77 standard (and now with extensions to modern fortran). I agree that it isn't usually considered to be good programming practice, but then that is subjective!
Recent
gfortran
doesn't like some old Fortran features.The text was updated successfully, but these errors were encountered: