Oracle® Solaris Studio 12.4: Fortran User's Guide

Exit Print View

Updated: March 2015
 
 

4.6.16 Additional Fortran 2003 and Fortran 2008 Features

Refer to the published Fortran 2003 and Fortran 2008 standards for details.

  • 2003 extensions to allocatable arrays — reallocation on assignment, and allocatable scalars.

  • 2003 extensions to ALLOCATE/DEALLOCATE statements — ERRMSG and SOURCE.

  • 2003 extensions MOVE_ALLOC intrinsic.

  • 2003 extensions pointer assignment with remapping.

  • 2003 extensions MIN/MAX, MIN/MAXVAL and MIN/MAXLOC with character arguments.

  • 2003 intrinsics IS_IOSTAT_END, IS_IOSTAT_EOR, NEW_LINE.

  • 2003 intrinsic SELECTED_CHAR_KIND.

  • 2003 REAL type for argument COUNT_RATE of intrinsic SYSTEM_CLOCK.

  • 2003 new restriction on complex SQRT intrinsic result.

  • 2008: Use of null pointers as missing optional arguments.

  • 2008 Bit Intrinsics: BGE, BGT, BLE, BLT, DSHIFTL, DSHIFTR, LEADZ, POPCNT, POPPAR, TRAILZ, MASKL, MASKR, SHIFTA, SHIFTL, SHIFTR, MERGE_BITS, IALL, IANY, IPARITY.

  • Enhanced structure constructor: using component names to construct a structure constant.

  • Enhanced PUBLIC/PRIVATE access control on module derived types and components.

  • More Fortran 2008 math intrinsic function support. Most Fortran 2008 math intrinsic functions are now supported except for ERFC_SCALED, NORM2 and some REAL*16 variants on x86 platforms.

  • Derived types with no components.

  • The KIND argument was added to ICHAR, IACHAR, ACHAR, SHAPE, UBOUND, LBOUND, SIZE, MINLOC, MAXLOC, COUNT, LEN, LEN_TRIM, INDEX, SCAN and VERIFY intrinsics.

  • The BACK argument was added to MINLOC and MAXLOC intrinsics.

  • New intrinsics FINDLOC and STORAGE_SIZE were added.

  • New keywords ERRMSG, SOURCE and MOLD were added to ALLOCATE statement, and ERRMSG was added to DEALLOCATE statement.

  • Enumeration with ENUM.

  • VOLATILE keyword.

  • PUBLIC/PRIVATE accessibility on individual components.

  • Public entities of private types.

  • Enhanced complex constants.

  • Fortran 2003 ISO_FORTRAN_ENV module.

  • New KIND= optional argument to intrinsics.

  • Names of length up to 127 characters, except for module names, which are limited to 31 characters.

  • ID= and PENDING= specifier in INQUIRE statement.

  • POS= specifier in data transfer and INQUIRE statements.

  • BLANK, DECIMAL, DELIM, PAD, ROUND, SIZE specifiers.

  • DC, DP, RD, RC, RN, RP, RU, RZ edit descriptors.

  • INTRINSIC and NON_INTRINSIC keywords in USE.

  • IS_IOSTAT_END and IS_IOSTAT_EOR intrinsics.

  • Support for deferred-length character declarations. For example, CHARACTER (LEN=:), POINTER :: STR.

  • Support passing TARGET objects to INTENT(IN) pointer dummies. This is a Fortran 2008 feature.