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

印刷ビューの終了

更新: 2014 年 12 月
 
 

3.4.110 –xassume_control[=keywords]

ASSUME プラグマを制御するパラメータを設定します。

このフラグを使用して、コンパイラがソースコード内の ASSUME プラグマを処理する方法を制御します。

プログラマは ASSUME プラグマを使用することによって、コンパイラがより良い最適化を得るために使用できる特殊な情報を表明できます。これらの表明は、確率を指定することができます。確率が 0 または 1 の場合は確実 (certain) とされ、それ以外の場合は不確実 (non-certain) とみなされます。

また、可能性または確実性を指定して、次に DO ループのトリップカウント、または分岐が起こることを表明することもできます。

ASSUME ディレクティブ コンパイラが認識する ASSUME プラグマの説明については、The ASSUME Directivesを参照してください。

-xassume_control オプションの keywords には、1 つのサブオプションキーワードまたはコンマで区切られたキーワードのリストを指定できます。認識されるキーワードサブオプションは、次のとおりです。

optimize
ASSUME プラグマで指定される表明は、プログラムの最適化に影響を与えます。
check
コンパイラは確実とマークされたすべての表明の正確さを検査するコードを生成し、表明が違反している場合は実行時メッセージを出力します。プログラムは fatal が指定されていなければ、処理を続行します。
fatal
check とともに使用すると、確実とマークされている表明が違反を起こすとプログラムは終了します。
retrospective[:d]
d パラメータはオプションの許容値で、1 未満の正の実数定数を指定する必要があります。デフォルトは「.1」です。retrospective を指定すると、すべての表明について真と偽をカウントするコードをコンパイルします。値が許容値 d を超えると、プログラム終了時に一覧が出力されます。
%none
すべての ASSUME プラグマが無視されます。

コンパイラのデフォルトは次のとおりです。

-xassume_control=optimize

これは、コンパイラが ASSUME プラグマを認識し、最適化に影響を与えますが、検査は行わないという意味です。

パラメータを指定しない場合、-xassume_control は次と同義です。

-xassume_control=check,fatal

この場合、コンパイラは certain とマークされたすべての ASSUME プラグマを受け付け、検査しますが、最適化には影響を与えません。表明が無効の場合、プログラムは終了します。