GNU Fortran supports several Fortran 2003 features; an incomplete list can be found below. See also the wiki page about Fortran 2003.
(/.../). Type-specification for array constructors like
(/ some-type :: ... /).
IOMSG=specifier for I/O statements.
ENUMERATORstatements. Interoperability with gcc is guaranteed also for the case where the -fshort-enums command line option is given.
ERRMSG=tag is now supported in
SOURCE=tag is supported in an
ALLOCATEstatement. An intrinsic-type-spec can be used as the type-spec in an
ALLOCATEstatement; while the use of a derived-type-name is currently unsupported.
OPENstatement supports the
ACCESS='STREAM'specifier, allowing I/O without any record structure.
PROTECTEDstatement and attribute.
VALUEstatement and attribute.
VOLATILEstatement and attribute.
IMPORTstatement, allowing to import host-associated derived types.
NON_INTRINSICattribute; supported intrinsic modules:
GENERIC, and operators bound to a derived-type.
ABSTRACTderived-types and declaring procedure bindings