インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス

fp-trap-all、Qfp-trap-all

すべてのルーチンに対して浮動小数点トラッピング・モードを設定します。

アーキテクチャーの制限

インテル® グラフィックス・テクノロジーをターゲットとするインテル® 64 アーキテクチャー、または IA-32 アーキテクチャーで実行するインテル® グラフィックス・テクノロジーをターゲットとする場合は利用できません。

構文

Linux* および macOS*:

-fp-trap-all=mode[,mode,...]

Windows*:

/Qfp-trap-all:mode[,mode,...]

引数

mode

浮動小数点トラッピング・モード。複数のモード値を指定した場合は、リストは左から右の順に処理されます。設定可能な値は以下のとおりです。

[no]divzero

ゼロ除算の IEEE トラップを有効または無効にします。

[no]inexact

正確でない結果の IEEE トラップを有効または無効にします。

[no]invalid

無効な演算の IEEE トラップを有効または無効にします。

[no]overflow

オーバーフローの IEEE トラップを有効または無効にします。

[no]underflow

アンダーフローの IEEE トラップを有効または無効にします。

[no]denormal

デノーマルの IEE トラップを有効または無効にします。

all

上記すべてのトラップを有効にします。

none

上記すべてのトラップを無効にします。

common

ゼロ除算、無効な演算、オーバーフローなど最も一般に使用される IEEE トラップを設定します。

デフォルト

-fp-trap-all=none
または /Qfp-trap-all:none

すべてのルーチンに対してトラップは有効にされません。

説明

このオプションは、メインルーチンの浮動小数点トラッピング・モードを設定します。浮動小数点例外のハンドラーは設定しません。

mode 値の [no] 形式は、mode 値の allcommon の意味を変更する場合にのみ使用され、これらの値のうちの 1 つとともに使用できます。[no] 形式自体は、明示的に特定のトラップを無効にするわけではありません。

mode 値の inexact は注意して使用してください。浮動小数点値を正確に表現できないときはいつでもトラップが有効になり、予測できない結果を引き起こすことがあります。

mode 値の underflow が指定された場合、コンパイラーはインテル® ストリーミング SIMD 拡張命令 (インテル® SSE) の浮動小数点ユニットの FTZ (Flush-to-Zero) ビット状態を無視します。

DAZ (Denormals Are Zero) ビットがインテル® SSE 浮動小数点ユニットのコントロール・ワードで設定されると、正規化されていないオペランド例外は生成されません。

メインルーチンのみに浮動小数点トラッピング・モードを設定するには、[Q]fp-trap オプションを指定します。

[Q]ftz オプションの否定形を使用して FTZ と DAZ ハードウェア・フラグを設定/リセットできます。

IDE オプション

なし

代替オプション

なし

関連情報