有关详细信息,请参阅已发布的 Fortran 2003 和 Fortran 2008 标准。
2003 对可分配数组的扩展-赋值重新分配及可分配的标量。
2003 对 ALLOCATE/DEALLOCATE 语句的扩展-ERRMSG 和 SOURCE。
2003 对 MOVE_ALLOC 内部函数的扩展。
2003 对带重映射的指针赋值的扩展。
2003 扩展:MIN/MAX、MIN/MAXVAL 和 MIN/MAXLOC,使用字符参数。
2003 内部函数 IS_IOSTAT_END、IS_IOSTAT_EOR、NEW_LINE。
2003 内部函数 SELECTED_CHAR_KIND。
内部函数 SYSTEM_CLOCK 的 COUNT_RATE 参数的 2003 REAL 类型。
2003 对复合 SQRT 内部函数结果的新限制。
2008:使用空指针作为缺少的可选参数。
2008 的位内部函数:BGE, BGT, BLE, BLT, DSHIFTL, DSHIFTR, LEADZ, POPCNT, POPPAR, TRAILZ, MASKL, MASKR, SHIFTA, SHIFTL, SHIFTR, MERGE_BITS, IALL, IANY, IPARITY。
增强的结构构造函数:使用组件名称构造结构常量。
模块派生类型和组件上的增强 PUBLIC/PRIVATE 访问控制。
更多 Fortran 2008 数学内部函数支持。在 x86 平台上,除了 ERFC_SCALED、NORM2 以及某些 REAL*16 变量外,现在多数 Fortran 2008 数学内部函数都受支持。
不带组件的派生类型。
KIND 参数已添加到 ICHAR、IACHAR、ACHAR、SHAPE、UBOUND、LBOUND、SIZE、MINLOC、MAXLOC、 COUNT、LEN、LEN_TRIM、INDEX、SCAN 和 VERIFY 内部函数中。
BACK 参数已添加到 MINLOC 和 MAXLOC 内部函数中。
添加了新的内部函数 FINDLOC 和 STORAGE_SIZE。
新的关键字 ERRMSG、SOURCE 和 MOLD 已添加到 ALLOCATE 语句中,ERRMSG 已添加到 DEALLOCATE 语句中。
使用 ENUM 进行枚举。
VOLATILE 关键字。
各组件上的 PUBLIC/PRIVATE 可访问性。
专用类型的公共实体。
增强的复数常量。
Fortran 2003 ISO_FORTRAN_ENV 模块。
内部函数的新可选参数 KIND=。
名称的长度最长可为 127 个字符,但模块名称除外(它的长度不能超过 31 个字符)。
INQUIRE 语句中的 ID= 和 PENDING= 说明符。
数据传送和 INQUIRE 语句中的 POS= 说明符。
BLANK、DECIMAL、DELIM、PAD、ROUND、SIZE 说明符。
DC、DP、RD、RC、RN、RP、RU、RZ 编辑描述符。
USE 中的 INTRINSIC 和 NON_INTRINSIC 关键字。
IS_IOSTAT_END 和 IS_IOSTAT_EOR 内部函数。
对延迟长度字符声明的支持。例如,CHARACTER (LEN=:)、POINTER :: STR。
支持将 TARGET 对象传递到 INTENT(IN) 指针哑元。这是一个 Fortran 2008 功能。