Extensions#
The two sections below detail the extensions to standard Fortran that are implemented in GNU Fortran, as well as some of the popular or historically important extensions that are not (or not yet) implemented. For the latter case, we explain the alternatives available to GNU Fortran users, including replacement by standard-conforming code or GNU extensions.
- Extensions implemented in GNU Fortran
- Old-style kind specifications
- Old-style variable initialization
- Extensions to namelist
- X format descriptor without count field
- Commas in FORMAT specifications
- Missing period in FORMAT specifications
- Default widths for F, G and I format descriptors
- I/O item lists
- Q exponent-letter
- BOZ literal constants
- Real array indices
- Unary operators
- Implicitly convert LOGICAL and INTEGER values
- Hollerith constants support
- Character conversion
- Cray pointers
- CONVERT specifier
- OpenMP
- OpenACC
- Argument list functions %VAL, %REF and %LOC
- Read/Write after EOF marker
- STRUCTURE and RECORD
- UNION and MAP
- Type variants for integer intrinsics
- AUTOMATIC and STATIC attributes
- Extended math intrinsics
- Form feed as whitespace
- TYPE as an alias for PRINT
- %LOC as an rvalue
- .XOR. operator
- Bitwise logical operators
- Extended I/O specifiers
- Legacy PARAMETER statements
- Default exponents
- Extensions not implemented in GNU Fortran