Designates an alternate entry point at which execution of a
subprogram can start. It is not executable and must precede any
CONTAINS statement (if any) within the subprogram. Statement
format:
ENTRY nam [([p[,p]...])] [RESULT (r-name)]]
nam Is a symbolic name for the entry point. The name
must be unique among all global names in the program.
In a function subprogram, the data type defined for
or implied by the name and the data type of the
function must be consistent within the following groups:
Group 1: Type default integer, default real, double
precision real, default complex, double complex,
or default logical
Group 2: REAL(KIND=16) and COMPLEX(KIND=16)
Group 3: Type default character
If the data type is character, the length of the string
must be the same in both the entry and the function.
p Is a dummy argument or an alternate return argument
(designated by a *). The arguments must agree in order,
number, and type with the actual arguments of the
statement invoking the entry point. The arguments need
not agree in name, order, number, or type with the dummy
arguments in the SUBROUTINE or FUNCTION statement for the
subprogram. You must use only the dummy arguments
defined in the ENTRY statement.
r-name Is the name of a function result. This name must not be
the same as the name of the entry point, or the name of
any other function or function result. This parameter
can only be specified for function subprograms.
The ENTRY statement is not executable and can appear within a
function or subroutine program after the FUNCTION or SUBROUTINE
statement. Execution of a subprogram referred to by an entry name
begins with the first executable statement after the ENTRY
statement.
An ENTRY statement must not appear in a CASE, DO, IF, FORALL, or
WHERE construct or a nonblock DO loop.