-qlanglvl

类别

语言元素控件

用途

确定就不一致情况所要参考的语言标准(或者某项标准的超集或子集)。 它标识不合规的源代码和允许此类不合规 性的选项。

语法

读取语法图跳过可视语法图 -qlanglvl=:extended77std90std90pure95std95pure2003std2003pure2008std2008puretstspure
@PROCESS:

@PROCESS LANGLVL({suboption})

缺省值

-qlanglvl=extended

参数

77std
接受 ANSI FORTRAN 77 标准指定的语言,并使用语言级别消息报告任何其他内容。
90std
接受 ISO Fortran 90 标准指定的语言,并使用语言级别消息报告任何其他内容。
90pure
90std 相同,只是它还针对所使用的任何过时 Fortran 90 功能部件 发出语言级别的消息
90ext
extended等效的过时子选项。
95std
接受 ISO Fortran 95 标准指定的语言,并使用语言级别消息报告任何其他内容。
95pure
95std 相同,只是它还针对所使用的任何过时 Fortran 95 功能 发出语言级别的消息
2003std
接受 Fortran 2003 标准指定的语言,并使用语言级别消息报告任何其他内容。
2003pure
2003std 相同,只是它还针对所使用的任何过时 Fortran 2003 功能部件 发出语言级别的消息
2008std
接受 ISO Fortran 2003 标准指定的语言以及 IBM® Open XL Fortran支持的所有 Fortran 2008 功能部件,并使用语言级别的消息报告其他任何内容。
2008pure
2008std 相同,只是它还会针对所使用的任何过时 Fortran 2008 功能部件发出语言级别的消息。
ts
接受标准技术规范指定的语言,并使用语言级别消息报告其他内容。 技术规范 29113 是现行 Fortran 标准的补充。 此选项检查 ISO Fortran 2003 标准指定的语言,所有受支持的 ISO Fortran 2008 标准功能以及所有受支持的 ISO TS 29113 功能部件。
tspure
ts 相同,只是它还会针对所使用的任何过时技术规范 29113 功能部件发出语言级别的消息。
extended
接受完整的 Fortran 2003 语言标准, IBM Open XL Fortran支持的所有 Fortran 2008 功能以及所有扩展,有效关闭语言级别检查。

用途

指定 -qlanglvl 设置时,如果编译器检测到指定的语言级别不允许使用的语法,那么它将发出严重性代码为 L 的消息。

-qflag 选项可以覆盖 -qlanglvl 选项。

运行时选项(在设置运行时选项中描述)有助于定位在编译时无法检查的运行时扩展。 langlvl运行时选项(在设置运行时选项中描述)有助于定位在编译时无法检查的运行时扩展。

示例

以下示例包含符合 Fortran 标准的混合的源代码 :
!----------------------------------------------------------
! in free source form
program tt
    integer :: a(100,100), b(100), i
    real :: x, y
    ...
    goto (10, 20, 30), i
10 continue
    pause 'waiting for input'

20 continue
    y= gamma(x)

30 continue
    b = maxloc(a, dim=1, mask=a .lt 0)

end program
!----------------------------------------------------------
显示一些 -qlanglvl 子选项对此样本程序造成的影响的示例:
指定 -qlanglvl 子选项 结果 原因
95pure
标志 PAUSE 语句

已计算的标志 GOTO
语句
标志 GAMMA 内部

Fortran 95

Fortran 95
中的 "过时" 功能部件中的 "已删除" 功能部件扩展至 Fortran 95
95std
标志 PAUSE 语句

标志 GAMMA 内部

Fortran 95
Extension to Fortran 95 中已删除的功能部件
extended 未标记任何错误  

相关信息