You copied the Doc URL to your clipboard.

Fortran 2008

The following table details the support status with the Fortran 2008 standard.

Fortran 2008 support

Fortran 2008 feature

Support status

Submodules

Yes

Coarrays

No

Performance enhancements

do concurrent

Partial

The do concurrent syntax is accepted. 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

Partial

Not supported for complex arrays.

Pointer function reference is a variable

No

Elemental dummy argument restrictions lifted

Yes

Input/Output

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

ERROR STOP

No

Intrinsic procedures for bit processsing

Bit sequence comparison

No

Combined shifting

No

Counting bits

Partial

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

Partial

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

COMPILER_VERSION

Yes

COMPILER_OPTIONS

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

Partial

One or more issues are observed with this feature.

Empty contains section

Partial

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.

Partial

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

Partial

Only shows a warning with the -Mstandard flag.

Source form

Semicolon at line start

Yes

Was this page helpful? Yes No