<Syntax> |
|
|
|
type , INTENT(intent-spec) [ , attr ]... :: decl-list
INTENT(intent-spec) [ :: ] name [ , name ]...
intent-spec ::= IN | INOUT | OUT
The INOUT keyword may also be spelled as two separate words, IN OUT.
|
|
|
|
|
|
<Semantics> |
|
|
|
Declares that those dummy arguments have the specified intent.
An INTENT(IN) argument cannot appear in any context where it will be modified;
an INTENT(OUT) argument becomes undefined on entry to the procedure (if the type of the argument has default
initialisation, that will be applied).
Both INTENT(INOUT) and INTENT(OUT) require the actual argument to be a variable (i.e. not an expression).
|
|
|
In Fortran 2003,
the INTENT attribute is permitted for pointers.
A pointer with INTENT(IN) is permitted to have its value changed if it is
associated with a target, but is not permitted to have its pointer association
status changed (i.e. it cannot be allocated, associated, deallocated or
nullified).
An INTENT(OUT) pointer has its association status become undefined on entry to
the procedure.
|
|
|
|
|
|
<Related> |
|
|
|
ENTRY statement,
FUNCTION statement,
SUBROUTINE statement,
Type Declaration statement |
|
|