The following extensions to the standard Fortran language are accepted by the NAG Fortran Compiler.
INTEGER
, unless there are more
digits in the BOZ constant than will fit in a default INTEGER
; e.g.,
Z'12345678'
would be of type default INTEGER
, and
Z'123456789'
would be a 64-bit integer.
$
’ may appear in names as if it were a letter.
On some systems this name is directly used in the link name, but on others, it
is translated to DOLLAR
.
CONVERT=
specifier.
This is an OPEN
statement specifier, and takes a scalar default character
argument; the accepted values are:
BIG_ENDIAN
BIG_IEEE
;
BIG_IEEE_DD
BIG_IEEE
BIG_NATIVE
LITTLE_ENDIAN
LITTLE_IEEE
;
LITTLE_IEEE_DD
LITTLE_IEEE
LITTLE_NATIVE
NATIVE
It is also possible to specify this with an environment variable at runtime;
when unit n is opened, if the environment variable
FORT_CONVERT
n exists, its value is interpreted as a CONVERT=
specifier value.
If the environment variable exists it takes precedence over any CONVERT=
specifier in the OPEN
statement.
If the environment variable does not exist, and there is no CONVERT=
specifier in the OPEN
statement, the conversion mode is taken
from the -convert=
option at compile time; the default is NATIVE
(i.e. no conversion).
The CONVERT=
specifier is also available in the INQUIRE
statement, and sets its argument to the current conversion mode or to
'UNKNOWN'
if the file is not connected for unformatted input/output.
BIND(C)
proceduresBIND(C)
) procedures are permitted to be declared as
ELEMENTAL
.
Such a procedure must satisfy the normal Fortran requirements for elemental
procedures, in particular they must have scalar dummy arguments and must be
pure (free from side-effects).
REAL array(2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2)declares a 30-dimensional array (which will take 4GiB of memory to store).