Skip to content

Fortran 2008

Steve Scalpone edited this page Apr 10, 2018 · 3 revisions

This table is a list of features from the Fortran 2008 standard. The righthand 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 N
Coarrays N
Performance enhancements
DO CONCURRENT N
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 N
Data statement restrictions lifted N
Kind of a forall index N
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= N
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 N
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 N
Unlimited format item N
Recursive I/O Y
Execution control
The BLOCK construct N
Exit statement N
Stop code Y
ERROR STOP N
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 N
Optional back argument added to maxloc and minloc N
Find location in an array N
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 N
Empty contains section N
Form of end statement for internal and module procedures Y
Internal procedure as an actual argument N
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