The following code contains a couple of EXTERNAL declarations that are, strictly speaking, not necessary, but the compiler issues a strangely worded warning -- there is only one call to SPLIT.
subroutine split (accel,coef,jcoef,ier)
external accel
integer jcoef(*)
dimension coef(*)
c
call accel (suba,coef,jcoef,jer)
if (jer .ne. 0) ier = jer
return
end
c--------------------
subroutine rich1 (accel,coef,jcoef,ier)
external accel
integer jcoef(*)
dimension coef(*)
c
call split (accel,coef,jcoef,ier)
return
end
The compiler says:
[FTN95/x64 Ver. 8.74.0 Copyright (c) Silverfrost Ltd 1993-2021]
NO ERRORS [<SPLIT> FTN95 v8.74.0]
WARNING T:\lang\FTN95\rich1.F 16: In a previous call to SPLIT, the first argument was of type SUBROUTINE, it is now REAL(KIND=1) FUNCTION
NO ERRORS, 1 WARNING [<RICH1> FTN95 v8.74.0]