Language features

This topic lists new language features that are introduced in this release of XL Fortran.

Fortran 2008 begins

BIND attribute for an internal procedure

You can specify the BIND attribute without the NAME= specifier on an internal procedure. In previous releases, the BIND attribute could not be specified on an internal procedure.

DO CONCURRENT construct

With the DO CONCURRENT construct, you can specify that individual loop iterations have no interdependencies, in which case the execution order of the iterations can be indeterminate at the beginning of the execution of the DO CONCURRENT construct.

Polymorphic variable in an intrinsic assignment

In an intrinsic assignment variable = expression, variable now can be polymorphic. If variable is polymorphic, the following rules apply:
  • variable must be allocatable.
  • variable must be type-compatible with expression, or the declared types of variable and expression must conform.

Multiple allocate objects allowed on an ALLOCATE statement

You can allocate more than one allocate_object by using an ALLOCATE statement that contains the SOURCE= or MOLD= specifier. In previous releases, you could only allocate one allocate_object by using an ALLOCATE statement that contains the SOURCE= or MOLD= specifier.

VALUE attribute

You can specify the VALUE attribute on an array dummy argument that has either assumed shape or explicit shape. In the previous releases, you could not specify the VALUE attribute on array dummy arguments.

Fortran 2008 ends


Voice your opinion on getting help information Ask IBM compiler experts a technical question in the IBM XL compilers forum Reach out to us