Oracle® Solaris Studio 12.4: Fortran ユーザーズガイド

印刷ビューの終了

更新: 2014 年 12 月
 
 

3.4.38 –ftrap=t

起動時に有効になる浮動小数点のトラップモードを設定します。

t には、次の 1 つまたは複数の項目をコンマで区切って指定します。

%all%nonecommon[no%]invalid[no%]overflow[no%]underflow[no%]division[no%]inexact

-ftrap=common は、-ftrap=invalid,overflow,division のマクロです。

f95 のデフォルトは -ftrap=common です。これは、C および C++ コンパイラのデフォルト (-ftrap=none) と異なります。

起動時に IEEE 745 のトラップモードを有効にします。ただし、SIGFPE ハンドラは組み込まれません。トラップの設定と SIGFPE ハンドラの組み込みを同時に行うには、ieee_handler(3M) か fex_set_handling(3M) を使用します。複数の値を指定すると、それらの値は左から右に処理されます。共通の例外とは、演算不可能、ゼロによる除算、およびオーバーフローと定義されています。

例: -ftrap=%all,no%inexact は、inexact を除くすべての例外に対して、トラップを設定するという意味です。

次の点を除いて、-ftrap=t の意味は ieee_flags() と同じです。

  • %all は、全トラップモードをオンにし、予期している例外にも予期していない例外にもトラップを発生させます。この代わりに common を使用してください。

  • %none は、すべてのトラップモードをオフにします。

  • 先頭に付いている no% はそのトラップモードをオフにします。

このオプションを有効にするには、主プログラム全体にこのオプションを付けてコンパイルする必要があります。

詳細は、『Fortran プログラミングガイド』の「浮動小数点演算」の章を参照してください。