GNU Fortran supports several Fortran 2003 features; an incomplete list can be found below. See also the wiki page about Fortran 2003.
PASS
attribute. PASS
, PROCEDURE
and GENERIC
, and operators bound to a type. CLASS
”) for derived types and unlimited polymorphism (“CLASS(*)
”) – including SAME_TYPE_AS
, EXTENDS_TYPE_OF
and SELECT TYPE
for scalars and arrays and finalization. ASSOCIATE
construct. ALLOCATE
statement, allowing for a type-specification with type parameter and for allocation and initialization from a SOURCE=
expression; ALLOCATE
and DEALLOCATE
optionally return an error message string via ERRMSG=
. MOVE_ALLOC
. PRIVATE
and PUBLIC
attributes may be given individually to derived-type components. INTENT
may be specified which affect the association status not the value of the pointer target. command_argument_count
, get_command
, get_command_argument
, and get_environment_variable
. SELECTED_CHAR_KIND
and NEW_LINE
intrinsic functions. INT
, REAL
, CMPLX
and DBLE
. [...]
rather than (/.../)
. Type-specification for array constructors like (/ some-type :: ... /)
. FLUSH
statement. IOMSG=
specifier for I/O statements. ENUM
and ENUMERATOR
statements. Interoperability with gcc
is guaranteed also for the case where the -fshort-enums
command line option is given. ALLOCATABLE
dummy arguments. ALLOCATABLE
function results ALLOCATABLE
components of derived types OPEN
statement supports the ACCESS='STREAM'
specifier, allowing I/O without any record structure. strtod
honours the rounding mode, the rounding mode is also supported for input. PROTECTED
statement and attribute. VALUE
statement and attribute. VOLATILE
statement and attribute. IMPORT
statement, allowing to import host-associated derived types. ISO_FORTRAN_ENVIRONMENT
is supported, which contains parameters of the I/O units, storage sizes. Additionally, procedures for C interoperability are available in the ISO_C_BINDING
module. USE
statement with INTRINSIC
and NON_INTRINSIC
attribute; supported intrinsic modules: ISO_FORTRAN_ENV
, ISO_C_BINDING
, OMP_LIB
and OMP_LIB_KINDS
. USE
statement.
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-4.9.3/gfortran/Fortran-2003-status.html