-
Notifications
You must be signed in to change notification settings - Fork 138
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 |