The IMPORT statement was added in F2003, so it is understandable that FTN95 will issue an error message when it encounters that statement in a source file that it is asked to compile. The error message wording, however, is somewhat confusing. In the following example, the IMPORT statement allows the kind parameter DOUBLE to be declared once and reused in a number of interface blocks where it is needed.
Module fcn_INT
implicit none
Integer, Parameter :: DOUBLE = kind(0.0d0)
abstract INTERFACE
Subroutine NLEfcn (N, X, FVEC, iflag)
import :: DOUBLE
implicit none
Integer, Intent (In) :: N
Integer :: iflag ! set only to terminate
Real (DOUBLE), Dimension (N), Intent (In) :: X
Real (DOUBLE), Dimension (N), Intent (Out) :: FVEC
End Subroutine
End Interface
abstract INTERFACE
Subroutine NLSfcn (M, N, X, FVEC, IFLAG)
import :: DOUBLE
implicit none
...
End Subroutine
End Interface
End Module
The error message is
[FTN95/Win32 Ver. 8.83.0 Copyright (c) Silverfrost Ltd 1993-2021]
PROCESSING MODULE [<FCN_INT> FTN95/Win32 v8.83.0]
ERROR T:\MinPack\Netlib\V90\fcn_INT.F90 8: Statement ordering error - IMPLICIT NONE cannot appear after type definition
Abstract interfaces were also not present in F95, so FTN95 would probably issue an error message for those lines of code if it gets to the point of parsing those lines.