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
Xformat descriptor without count field- Commas in
FORMATspecifications - Missing period in
FORMATspecifications - Default widths for
F,GandIformat descriptors - I/O item lists
Qexponent-letter- BOZ literal constants
- Real array indices
- Unary operators
- Implicitly convert
LOGICALandINTEGERvalues - Hollerith constants support
- Character conversion
- Cray pointers
CONVERTspecifier- OpenMP
- OpenACC
- Argument list functions
%VAL,%REFand%LOC - Read/Write after EOF marker
STRUCTUREandRECORDUNIONandMAP- Type variants for integer intrinsics
AUTOMATICandSTATICattributes- 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