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

momit-leaf-frame-pointer

フレームポインターを省略するか、リーフ関数で保持するかを指定します。

アーキテクチャーの制限

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

構文

Linux* および macOS*:

-momit-leaf-frame-pointer

-mno-omit-leaf-frame-pointer

Windows*:

なし

引数

なし

デフォルト

それぞれ異なる

-fomit-frame-pointer オプションを指定すると (またはこのオプションがデフォルトで設定されると)、-momit-leaf-frame-pointer がデフォルトになります。-fno-omit-frame-pointer オプションを設定すると、-mno-omit-leaf-frame-pointer がデフォルトになります。

説明

このオプションは、フレームポインターを省略するか、リーフ関数で保持するかを指定します。-f[no-]omit-frame-pointer オプションと関連があり、その設定の影響を受けます。

次のオプションの組み合わせについて考えてみます。

オプションの組み合わせ

結果

-fomit-frame-pointer -momit-leaf-frame-pointer

または

-fomit-frame-pointer -mno-omit-leaf-frame-pointer

どちらも -fomit-frame-pointer を指定するのと同じです。フレームポインターは、すべてのルーチンで省略されます。

-fno-omit-frame-pointer -momit-leaf-frame-pointer

フレームポインターは、リーフ関数では省略されますが、ほかのルーチンでは保持されます。

これは、-momit-leaf-frame-pointer の意図される効果です。

-fno-omit-frame-pointer -mno-omit-leaf-frame-pointer

-fno-omit-frame-pointer はすべてのルーチンでフレームポインターを保持するため、-mno-omit-leaf-frame-pointer は無視されます。

この組み合わせは、-fno-omit-frame-pointer を指定するのと同じです。

このオプションは、gcc との互換性のために提供されています。

IDE オプション

Visual Studio*: なし

Eclipse*: [Optimization (最適化)] > [Omit frame pointer for leaf routines (リーフルーチンのフレームポインターを省略する)]

Xcode*: [Optimization (最適化)] > [Provide Frame Pointer For Leaf Routines (リーフルーチンのフレームポインターを提供する)]

代替オプション

なし

関連情報