IBM Support

Fortran 2008 Compliance Status for XL Fortran

General Page

XL Fortran started adding support for the Fortran 2008 standard in version 14.1 of the compiler. This document lists the Fortran 2008 features currently supported by XL Fortran. The feature names follow the ones provided by John Reid in his "The new features of Fortran 2008" paper. The format follows the one used by Ian Chivers and Jane Sleightholme in their Fortran Forum article, "Compiler Support for the Fortran 2003 and 2008 Standards". (Here is a link to a recent version.)

Fortran 2008 feature Supported? Notes First added in
Submodules Y 15.1
Coarrays N
Performance enhancements
DO CONCURRENT Y 15.1.3
CONTIGUOUS attribute Y 14.1
Simply contiguous arrays Y 14.1
Data declaration
Maximum rank Y Was available before as an IBM extension 14.1
Long integers Y Was available before as an IBM extension 14.1
Allocatable components of recursive type Y 16.1.1.5
Implied-shape arrays Y 14.1
Pointer initialization Y 16.1.1.5
Data statement restrictions lifted N
Kind of a FORALL index Y 15.1
TYPE statement for intrinsic types Y 14.1
Declaring type-bound procedures Y 14.1
Extensions to the VALUE attribute P

Partial support in 15.1, More support added in 15.1.3.

15.1.3
Data usage
Omitting an allocatable component in a structure constructor Y 16.1.1.5
Multiple allocations with SOURCE= Y 15.1.3
Copying the properties of an object in an allocate statement Y 14.1
Polymorphic assignment Y 15.1.3
Accessing real and imaginary parts Y 14.1
Pointer functions N
Elemental dummy argument restrictions lifted N
Input / Output
Finding a unit when opening a file Y 14.1
G0 edit descriptor N
Unlimited format item N
Recursive input/output N
Execution control
The BLOCK construct Y 14.1
EXIT statement Y 14.1
Stop code Y 14.1
ERROR STOP Y 14.1
Intrinsic procedures and modules
Bit sequence comparison N
Combined shifting Y 15.1
Counting bits Y 14.1
Masking bits Y 15.1
Shifting bits Y 15.1
Merging bits Y 15.1
Bit transformational functions N
Storage size Y 15.1.1
Optional argument RADIX added to SELECTED_REAL_KIND Y 14.1
Extensions to trigonometric and hyperbolic intrinsic functions Y 14.1
Bessel functions N
Error and gamma functions Y 14.1
Euclidean vector norms N
Parity N
Execute command line Y 14.1
Optional argument BACK added to MAXLOC and MINLOC Y 15.1
Find location in an array Y 15.1
String comparison N
Constants Y 14.1
Compiler information Y 14.1
Function for C sizeof Y 14.1
Additional optional argument for IEEE_SELECTED_REAL_KIND Y 14.1
Programs and procedures
Save attribute for module and submodule data Y 14.1
Empty contains section Y 14.1
Form of end statement for an internal or module procedure Y 14.1
Internal procedure as an actual argument or pointer target Y 14.1
Null pointer or unallocated allocatable as an absent dummy argument Y 14.1
Non-pointer actual for pointer dummy arguments (automatic targetting) Y 14.1
Generic resolution by pointer / allocatable or data / procedure Y 15.1
Elemental procedures that are not pure Y 15.1
Entry statement becomes obsolescent Y 14.1
Source form
Semicolon at line start Y Was available before as an IBM extension 14.1

[{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SSEP9Q","label":"XL Fortran"},"Component":"","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF016","label":"Linux"}],"Version":"All Versions","Edition":"","Line of Business":{"code":"LOB08","label":"Cognitive Systems"}}]

Document Information

Modified date:
19 December 2019

UID

ibm11138846