On this page
5.1 Extensions implemented in GNU Fortran ¶
GNU Fortran implements a number of extensions over standard Fortran. This chapter contains information on their syntax and meaning. There are currently two categories of GNU Fortran extensions, those that provide functionality beyond that provided by any standard, and those that are supported by GNU Fortran purely for backward compatibility with legacy compilers. By default, -std=gnu allows the compiler to accept both types of extensions, but to warn about the use of the latter. Specifying either -std=f95, -std=f2003, -std=f2008, or -std=f2018 disables both types of extensions, and -std=legacy allows both without warning. The special compile flag -fdec enables additional compatibility extensions along with those enabled by -std=legacy.
- 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
andI
format descriptors - I/O item lists
Q
exponent-letter- BOZ literal constants
- Real array indices
- Unary operators
- Implicitly convert
LOGICAL
andINTEGER
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
andRECORD
UNION
andMAP
- Type variants for integer intrinsics
AUTOMATIC
andSTATIC
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
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gfortran/Extensions-implemented-in-GNU-Fortran.html