Fortran 2008 status

The following table describes the Fortan 2008 support status for Arm Fortran Compiler.

Fortran 2008 feature Support status
Submodules Yes
Coarrays No
Performance enhancements
do concurrent Partial support. The do concurrent syntax is accepted but the code generated is serial.
Contiguous attribute Yes
Data Declaration
Maximum rank + corank = 15 No
Long integers Yes
Allocatable components of recursive type No
Implied-shape array No
Pointer initialization No
Data statement restrictions lifted No
Kind of a forall index No
Type statement for intrinsic types No
Declaring type-bound procedures No
Value attribute is permitted for any nonallocatable nonpointer noncoarray No
In a pure procedure the intent of an argument need not be specified if it has the value attribute Yes
Accessing data objects
Simply contiguous arrays rank remapping to rank>1 target Yes
Omitting an ALLOCATABLE component in a structure constructor No
Multiple allocations with SOURCE= No
Copying the properties of an object in an ALLOCATE statement Yes
MOLD= specifier for ALLOCATE Yes
Copying bounds of source array in ALLOCATE Yes
Polymorphic assignment No
Accessing real and imaginary parts Not supported for complex arrays
Pointer function reference is a variable No
Elemental dummy argument restrictions lifted Yes
Finding a unit when opening a file Yes
g0 edit descriptor No
Unlimited format item Yes
Recursive I/O Yes
Execution control
The BLOCK construct No
Exit statement No
Stop code Yes
Intrinsic procedures for bit processsing
Bit sequence comparison No
Combined shifting No
Counting bits trailz is not supported.
Masking bits No
Shifting bits No
Merging bits No
Bit transformational functions No
Intrinsic procedures and modules
Storage size Yes
Optional argument RADIX added to SELECTED REAL No
Extensions to trigonometric and hyperbolic intrinsics Complex types are not accepted for acosh, asinh and atanh. Additionally, atan2 cannot be accessed via atan.
Bessel functions Yes
Error and gamma functions Yes
Euclidean vector norms No
Parity No
Execute command line No
Optional back argument added to maxloc and minloc No
Find location in an array Yes
String comparison Yes
Constants Yes
Function for C sizeof Yes
Added optional argument for IEEE_SELECTED_REAL_KIND No
Programs and procedures
Save attribute for module and submodule data One or more issues are observed with this feature.
Empty contains section Not supported for procedures
Form of end statement for internal and module procedures Yes
Internal procedure as an actual argument Yes
Null pointer or unallocated allocatable as absent dummy arg. Not supported for null pointer
Non pointer actual for pointer dummy argument Yes
Generic resolution by procedureness No
Generic resolution by pointer vs. allocatable Yes
Impure elemental procedures Yes
Entry statement becomes obsolescent Only shows a warning with the -Mstandard flag.
Source form
Semicolon at line start Yes