Differences between revisions 56 and 57
Revision 56 as of 2008-05-16 19:56:43
Size: 4195
Editor: TobiasBurnus
Comment: Implemented: ''' type-spec for array constructor''' (since 2008-05-16)
Revision 57 as of 2008-07-02 20:53:18
Size: 4445
Editor: TobiasBurnus
Comment: Add procedure pointers
Deletions are marked like this. Additions are marked like this.
Line 33: Line 33:
 * '''Procedure pointers''' but not as components (since 2008-07-02)
Line 36: Line 37:
 * ASINH, ACOSH, ATANH, ERF, ERFC, GAMMA, LOG_GAMMA, BESSEL_*, HYPOT and ERFC_SCALED  * ASINH, ACOSH, ATANH, ERF, ERFC, GAMMA, LOG_GAMMA, BESSEL_*, HYPOT and ERFC_SCALED (missing are three-argument form of BESSEL_*N and the complex versions of A{SIN,COS,TAN}{,H}) since 2008-03-06
 * g0 edit descriptor (since 2008-06-08)
Line 40: Line 42:

* '''Procedure pointers''' ([[ProcedurePointers|SoC 2008 project, planned for 4.4.0]])
 * '''Procedure pointers as component''' including PASS. ([[ProcedurePointers|SoC 2008 project, planned for 4.4.0]])

Fortran 2003 Features in GNU Fortran

Implemented

See also GFortran news and in the GNU Fortran manuals and note that the following list is incomplete.

  • Command-line intrinsics

  • Streaming IO

  • ENUMERATION support

  • Allocatable components and dummy arguments (TR 15581) and move_alloc

  • USE statements with INTRINSIC and NON_INTRINSIC (since 2006-11-17)

  • ISO_FORTRAN_ENV module (since 2006-11-20)

  • VOLATILE attribute (since 2006-11-07)

  • VALUE attribute (since 2006-12-03)

  • IMPORT statement (since 2006-12-08)

  • PROTECTED statement (since 2006-12-10)

  • Intent for pointers (since 2007-01-05)

  • Renaming operators on the USE statement (since 2007-03-08)

  • ISO C Bindings (since 2007-07-02)

  • MIN / MAX with character arguments (since 2007-08-06)

  • Optional KIND= specifier: ACHAR, COUNT, IACHAR, ICHAR, INDEX, LBOUND, LEN, LEN_TRIM, SCAN, SIZE, UBOUND, VERIFY (since 2007-08-12)

  • ABSTRACT INTERFACE (since 2007-08-18) and PROCEDURE statement (since 2007-09-04, without procedure pointers)

  • Fortran 2003 BOZ, i.e. BOZ in INT, REAL, DBLE and CMPLX (since 2007-12-08)

  • Asynchronous IO, (since 2008-05-2008, standard conform, but implemented as synchronous I/O)

  • I/O changes: decimal=, sign=, delim=, pad=, blank=, encoding=default [but not UTF-8] (since 2008-04-05)

  • SELECTED_CHAR_KIND (since 2008-04-30; Fortran 2003 conform, but no optional UCS-4 support)

  • Structure constructures (since 2008-05-16)

  • type-spec for array constructor (since 2008-05-16)

  • Procedure pointers but not as components (since 2008-07-02)

Fortran 2008

  • ASINH, ACOSH, ATANH, ERF, ERFC, GAMMA, LOG_GAMMA, BESSEL_*, HYPOT and ERFC_SCALED (missing are three-argument form of BESSEL_*N and the complex versions of A{SIN,COS,TAN}{,H}) since 2008-03-06
  • g0 edit descriptor (since 2008-06-08)

Unimplemented

Features supported by several other compilers

Other features

Note: This list is by far incomplete.

  • Support for UCS-4 (ISO 10646) encoding (not required by the Fortran 2003 standard)

  • Extended Formatted I/O specifiers encoding=UTF-8 (not required by the Fortran 2003 standard, unless UCS-4 is supported) PR35863

  • Optional KIND= specified: MAXLOC, MINLOC, SHAPE (PR29600)

  • More allowed initialization expressions PR29962

  • Non-initialization expr. as case-selector PR25104

  • Type-bound procedures: PROCEDURE, GENERIC

  • Abstract derived types: ABSTRACT, DEFERRED

  • User Defined Derived Type I/O

  • ALLOCATE specifiers SOURCE= and ERRMSG=

  • Pointer Rank Remapping PR29785

  • ASSOCIATE construction

Moving GNU Fortran towards the 2008 Standard

None: Fortran2003 (last edited 2017-12-09 13:11:19 by ThomasKoenig)