Chart of Fortran 2003 Features supported by GNU Fortran

When the question which Fortran 2003 feature is implemented in which compiler, came up in comp.lang.fortran, the idea was born to create a chart of the features supported by the different compilers; the question was sent to the j3-Fortran list and the result was the following paper:

which follows the feature listed in the following paper

Implemented 2003 feature in GNU Fortran compiler

For other compiles see the Fortran Forum paper cited above. (These are not the only new features of Fortran 2003 though.)

See also: Fortran 2003 Features in the GNU Fortran

ISO TR 15580 IEEE Arithmetic

No

ISO TR 15581 Allocatable Enhancements

Yes

Data enhancements and object orientation

Parameterized derived types

No (being developed for KIND only)

Procedure pointers

No (being developed)

Finalization

No

Procedures bound by name to a type

No

The PASS attribute

No

Procedures bound to a type as operators

No

Type extension

No

Overriding a type-bound procedure

No

Enumerations

Yes

ASSOCIATE construct

No

Polymorphic entities

No

SELECT TYPE construct

No

Deferred bindings and abstract types

No

Miscellaneous enhancements

Structure constructors

No

The allocate statement

No

Assignment to an allocatable array

No

Transferring an allocation

Yes

More control of access from a module

Yes

Renaming operators on the USE statement

Yes

Pointer assignment

No

Pointer INTENT

Yes

The VOLATILE attribute

Yes

The IMPORT statement

Yes

Intrinsic modules

Yes

Access to the computing environment

Yes

Support for international character sets

Yes (since 2008-04-30; only DEFAULT/ASCII encoding, see Note 1)

Lengths of names and statements

Yes

Binary, octal and hex constants

Yes (since 2007-12-08)

Array constructor syntax

Partial (No type spec support, patch available)

Specification and initialization expressions

Partial

Complex constants

Yes

Changes to intrinsic functions

Partial

Controlling IEEE underflow

No

Another IEEE class value

No

Input/output enhancements

Derived type input/output

No

Asynchronous input/output

Yes (since 4.4.0 2008-04-05; implemented as synchronous I/O)

FLUSH statement

Yes

IOMSG= specifier

Yes

Stream access input/output

Yes

ROUND= specifier

No

DECIMAL= specifier

Yes (since 4.4.0 2008-04-05)

SIGN= specifier

Yes (since 4.4.0 2008-04-05)

Kind type parameters of integer specifiers

No

Recursive input/output

Partial/Full?

Intrinsic function for newline character

Yes

Input and output of IEEE exceptional values

Yes

Comma after a P edit descriptor

Yes

Interoperability with C

Interoperability of intrinsic types

Yes (since 4.3 2007-07-02)

Interoperability with C pointers

Yes (since 4.3 2007-07-02)

Interoperability of derived types

Yes (since 4.3 2007-07-02)

Interoperability of variables

Yes (since 4.3 2007-07-02)

Interoperability of procedures

Yes (since 4.3 2007-07-02)

Interoperability of global data

Yes (since 4.3 2007-07-02)

Notes

Note 1. GNU Fortran currently only supports ENCODING="DEFAULT" in the OPEN statement and the SELECTED_CHAR_KIND() intrinsic only returns a non-negative number for "DEFAULT" and "ASCII". The support for I/O using "UTF-8" and supporting a character kind for "ISO_10646" (UCS4) is planned. However, the current implementation is already fully conform to the Fortran 2003 standard.

None: Fortran2003Status (last edited 2008-05-01 15:21:33 by TobiasBurnus)