Skip to main content

Technical detail

Enhanced support for Fortran 2003

Beginning with the V8.1 release, XL Fortran has delivered many Fortran 2003 standard features, including:

This release of XL Fortran builds on that work to arrive at the most complete Fortran 2003 implementation currently available, with Derived Type Parameters being the only major feature not yet implemented.


Fortran 2003 compiler invocations

New compiler invocation commands instruct the compiler to adhere more closely to Fortran 2003 language standards when compiling your applications. The new invocations are:

These invocations provide partial compliance to the Fortran 2003 standard. You can obtain full compliance to the Fortran 2003 standard by doing the following:

1. Set the XLFRTEOPTS environment variable to:
err_recovery=no:langlvl=2003std:iostat_end=2003std:internal_nldelim=2003std

2. Invoke the compiler with the following option settings:
-qlanglvl=2003std -qnodirective -qnoescape -qextname
-qfloat=nomaf:rndsngl:nofold -qnoswapomp -qstrictieeemod


Fortran 2003 file types

In addition to new compiler invocations, this release of XL Fortran also adds support for new filename extensions:

Compiler option -qxlf2003

XL Fortran adds a new compatibility option, -qxlf2003. This option provides backward compatibility with XL Fortran V10.1 and the Fortran 2003 standard for certain aspects of the language.

When compiling with the xlf2003, xlf2003_r, or f2003 compiler invocations, the default setting is -qxlf2003=polymorphic. This setting instructs the compiler to allow polymorphic items such as the CLASS type specifier and SELECT TYPE construct in your Fortran application source. For all other compiler invocations, the default is -qxlf2003=nopolymorphic.

The -qxlf2003 compiler option also includes several other suboptions to provide backward compatibility with earlier versions of XL Fortran.


Additional Fortran 2003 enhancements

Significant enhancements introduced with XL Fortran V11.1 include:

-Implementation of the full Fortran 2003 object-oriented programming model, including:

-I/O enhancements

-Scoping and data manipulation enhancements

-Procedure enhancements

-Intrinsic function enhancements

-Other enhancements

We're here to help

live-assistance

Easy ways to get the answers you need.


Or call us at:
877-426-3774
Priority code:
104CBW67