Skip to content

Fortran 2008

Gary Klimowicz edited this page Mar 26, 2020 · 3 revisions

This table is a list of features from the Fortran 2008 standard. The right hand column of the table indicates whether or not the feature has been implemented. A "P" in the column indicates a partial implementation.

Fortran 2008 features
Submodules Y
Coarrays N
Performance enhancements
DO CONCURRENT Y
Contiguous attribute Y
Data Declaration
Maximum rank + corank = 15 N
Long integers Y
Allocatable components of recursive type N
Implied-shape array N
Pointer initialization P
Data statement restrictions lifted N
Kind of a forall index Y
Type statement for intrinsic types N
Declaring type-bound procedures N
Value attribute is permitted for any nonallocatable nonpointer noncoarray N
In a pure procedure the intent of an argument need not be specified if it has the value attribute N
Accessing data objects
Simply contiguous arrays rank remapping to rank>1 target Y
Omitting an ALLOCATABLE component in a structure constructor N
Multiple allocations with SOURCE= Y
Copying the properties of an object in an ALLOCATE statement Y
MOLD= specifier for ALLOCATE Y
Copying bounds of source array in ALLOCATE Y
Polymorphic assignment Y
Accessing real and imaginary parts Y
Pointer function reference is a variable N
Elemental dummy argument restrictions lifted Y
Input/Output
Finding a unit when opening a file Y
g0 edit descriptor Y
Unlimited format item Y
Recursive I/O Y
Execution control
The BLOCK construct Y
Exit statement Y
Stop code Y
ERROR STOP Y
Intrinsic procedures for bit processing
Bit sequence comparison N
Combined shifting N
Counting bits (Implemented leads, popent, and poppar but not trailz) P
Masking bits N
Shifting bits N
Merging bits N
Bit transformational functions N
Intrinsic procedures and modules
Storage size Y
Optional argument RADIX added to SELECTED REAL KIND N
Extensions to trigonometric hyperbolic intrinsics Y
Bessel functions Y
Error and gamma functions Y
Euclidean vector norms N
Parity N
Execute command line Y
Optional back argument added to MAXLOC and MINLOC Y
Find location in an array Y
String comparison Y
Constants Y
COMPILER_VERSION Y
COMPILER_OPTIONS Y
Function for C sizeof Y
Added optional argument for IEEE_SELECTED_REAL_KIND Y
Programs and procedures
Save attribute for module and submodule data Y
Empty contains section Y
Form of end statement for internal and module procedures Y
Internal procedure as an actual argument Y
Null pointer or unallocated allocatable as absent dummy arg. N
Non pointer actual for pointer dummy argument N
Generic resolution by procedureness N
Generic resolution by pointer vs. allocatable N
Impure elemental procedures Y
Entry statement becomes obsolescent Y
Source form
Semicolon at line start Y