t 是一个逗号分隔列表,它包含以下项中的一个或多个:
%all, %none, common, [no%]invalid, [no%]overflow, [no%]underflow, [no%]division, [no%]inexact.
-ftrap=common 是 -ftrap=invalid,overflow,division 的宏。
f95 的缺省值为 -ftrap=common。这与 C 和 C++ 编译器的缺省值 (-ftrap=none) 不同。
设置在启动时有效的 IEEE 754 捕获模式,但不安装 SIGFPE 处理程序。可以使用 ieee_handler(3M) 或 fex_set_handling(3M) 启用陷阱并同时安装 SIGFPE 处理程序。如果指定多个值,则按从左到右顺序处理列表。按照定义,常见异常包括无效、被零除和溢出。
示例: -ftrap=%all,no%inexact 表示设置除 inexact 以外的所有陷阱。
-ftrap=t 的含义与 ieee_flags() 基本相同,不同之处是:
%all 打开所有捕获模式,并会导致捕获伪异常和预期异常。请改用 common。
%none 关闭所有捕获模式。
no% 前缀关闭该特定捕获模式。
主程序必须使用此选项进行编译才能有效。
有关详细信息,请参见《Fortran 编程指南》的“浮点运算”一章。