-qlanglvl
类别
用途
确定就不一致情况所要参考的语言标准(或者某项标准的超集或子集)。 它标识不合规的源代码和允许此类不合规 性的选项。
语法
@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 | 未标记任何错误 |
