コンパイラーによって行われる仮定を指定します。
Windows: [Compatibility (互換性)] > [Treat Backslash as Normal Character in Strings (バックスラッシュ (\) の取り扱い)] (/assume:[no]bscc)
[Data (データ)] > [Assume Dummy Arguments Share Memory Locations (ダミー引数がメモリーの場所を共有すると仮定する)] (/assume:[no]dummy_aliases)
[Data (データ)] > [Constant Actual Arguments Can Be Changed (定数の実引数の変更)] (/assume:[no]protect_constants)
[Data (データ)] > [Use Bytes as RECL=Unit for Unformatted Files (書式なしファイルでバイトを RECL= 単位で使用)] (/assume:[no]byterecl)
[Floating Point (浮動小数点)] > [Enable IEEE Minus Zero Support (IEEE マイナスゼロのサポート)] (/assume:[no]minus0)
[Optimization (最適化)] > [I/O Buffering (I/O バッファリング)] (/assume:[no]buffered_io)
[Preprocessor (プリプロセッサー)] > [Default Include and Use Path (INCLUDE/USE 文の既定パス)] (/assume:[no]source_include)
[Preprocessor (プリプロセッサー)] > [OpenMP Conditional Compilation (OpenMP 条件付きコンパイル)] (/assume:[no]cc_omp)
[External Procedures (外部プロシージャー)] > [Append Underscore to External Names (外部名への下線追加)] (/assume:[no]underscore)
Linux: なし
Mac OS X: [Optimization (最適化)] > [I/O Buffering (I/O バッファリング)] (-assume [no]buffered_io)
[Preprocessor (プリプロセッサー)] > [OpenMP Conditional Compilation (OpenMP 条件付きコンパイル)] (-assume [no]cc_omp)
[Preprocessor (プリプロセッサー)] > [Default Include and Use Path (INCLUDE/USE 文の既定パス)] (-assume [no]source_include)
[Compatibility (互換性)] > [Treat Backslash as Normal Character in Strings (バックスラッシュ (\) の取り扱い)] (-assume [no]bscc)
[Data (データ)] > [Assume Dummy Arguments Share Memory Locations (ダミー引数がメモリーの場所を共有すると仮定する)] (-assume [no]dummy_aliases)
[Data (データ)] > [Constant Actual Arguments Can Be Changed (定数の実引数の変更)] (-assume [no]protect_constants)
[Data (データ)] > [Use Bytes as RECL=Unit for Unformatted Files (書式なしファイルでバイトを RECL= 単位で使用)] (-assume [no]byterecl)
[Floating Point (浮動小数点)] > [Enable IEEE Minus Zero Support (IEEE マイナスゼロのサポート)] (-assume [no]minus0)
[External Procedures (外部プロシージャー)] > [Append Underscore to External Names (外部名への下線追加)] (-assume [no]underscore)
IA-32、インテル® 64、IA-64 アーキテクチャー
Linux および Mac OS X: |
-assume keyword |
Windows: |
/assume:keyword |
keyword |
仮定を指定します。設定可能な値は以下のとおりです。
|
nobscc |
文字列でバックスラッシュ文字 (\) を通常の文字として処理するかどうかを指定します。 |
nobuffered_io |
(OPEN 文の指定子が BUFFERED='NO' の場合) 内部バッファーにあるデータは直ちにディスクに書き込まれ (フラッシュされ) ます。 FORT_BUFFERED 環境変数を TRUE に設定すると、デフォルトは assume buffered_io です。 |
nobyterecl |
書式なしファイルの RECL 値は 4 バイト (ロングワード) 単位です。 |
nocc_omp |
OpenMP Fortran API による条件付きコンパイルは、-openmp オプション (Linux) または /Qopenmp オプション (Windows) が指定されない限り無効です。 -openmp オプション (Linux および Mac OS X) または /Qopenmp オプション (Windows) が指定されない場合、デフォルトは assume cc_omp です。 |
nodummy_aliases |
プロシージャーへの仮引数が他の仮引数と、または参照結合、ホスト結合、または共通ブロックを使用して共有した変数とメモリー位置を共有しないと仮定します。 |
noieee_fpe_flags |
フラグはルーチンの入口で保存されません。また、ルーチンの出口でも復元されません。 |
nominus0 |
SIGN 組み込み関数で Fortran 90/77 の標準セマンティクスを使用するようコンパイラーに指示し、-0.0 と +0.0 は 0.0 として扱い、-0.0 は負の符号なしで書式付き出力に書き出します。 |
noold_boz |
組み込み関数 INT、REAL、DBLE、および CMPLX の 2 進、8 進、および 16 進の定数引数を、組み込み関数のデータ型の値を示すビット文字列として扱います (ビットは変換されません)。 |
noold_logical_ldio |
NAMELIST およびリスト指定入力で IO リストの数値 (integer、real、および complex) 項目に対して、論理値 (T、F など) を受け付けないようにコンパイラーに指示します。このオプションが指定された場合、NAMELIST およびリスト指定入力で数値項目に対して論理値が指定されると、ランタイムエラーとなります。 |
old_maxminloc |
引数で空の配列が指定された場合、MAXLOC と MINLOC は 1 を返します。 |
noold_unit_star |
UNIT=5 または 6 がほかのファイルに結合されていても、UNIT=* への READ または WRITE を、それぞれ stdin または stdout に渡します。 |
old_xor |
コンパイラーによって、組み込み演算子 .XOR. が定義されます。 |
protect_constants |
定数実引数が呼び出される側のルーチンに渡されます。この値を変更した場合、エラーが発生します。 |
noprotect_parens |
高速なコードを生成できる場合は、REAL および COMPLEX の式評価で、括弧を考慮に入れずに並べ替えて、最適化します。 |
norealloc_lhs |
コンパイラーは、代入文の解釈に Fortran 95/90 規則を使用します。右辺を保持するための正しい形状が左辺に割り当てられるものと仮定します。そうでない場合は、不正な動作が発生します。 |
source_include |
ソースファイルが置かれているディレクトリーの USE モジュールおよび INCLUDE ファイルを検索します。 |
nostd_mod_proc_name |
モジュール・プロシージャー名とユーザー定義の外部シンボリック名の競合を許可します。 |
Windows: nounderscore |
Windows システムでは、コンパイラーはユーザー定義の外部名に下線を付加しません。Linux および Mac OS X システムでは、コンパイラーはユーザー定義の外部名に下線を付加します。 |
no2underscores |
コンパイラーは、下線文字が含まれているユーザー定義の外部名に下線を 2 つ付加しません。 |
nowriteable-strings |
コンパイラーは、文字定数を書き込み可能なメモリーに配置します。 |
コンパイラーによって行われる仮定を指定します。
オプション |
説明 |
---|---|
assume none |
すべての assume オプションを無効にします。 |
assume bscc |
バックスラッシュ文字 (\) を C 言語の文字列で使用される制御 (エスケープ) 文字として処理するようコンパイラーに指示します。"bscc" キーワードは "BackSlashControlCharacters" を意味します。 |
assume buffered_io |
レコードをバッファーに蓄積するようコンパイラーに指示します。これにより、シーケンシャル・ファイルを開く際のデフォルトが BUFFERED='YES' に設定されます。FORT_BUFFERED ランタイム環境変数を指定する場合も、同様の動作をします。 このオプションを指定すると、Fortran ランタイムシステムによってレコードがディスクに書き込まれるまで、多くのレコード出力文 (WRITE) によって内部バッファーが使用されます。ファイルが直接アクセスで開かれた場合、I/O バッファリングは無視されます。 通常、バッファリング付きの書き込みを使用すると、より大きなデータブロックがディスクに書き込まれ、書き込み回数が減るため、ディスク I/O の効率が向上します。ただし、バッファリング付きの書き込みを指定する場合、システム障害が起こると、ディスクにまだ書き込まれていないレコードが失われる可能性があります。 OPEN 文の BUFFERED 指定子は、特定の論理ユニットに適用されます。これに対して、assume [no]buffered_io オプションおよび FORT_BUFFERED 環境変数は、すべての Fortran ユニットに適用されます。 |
assume byterecl |
書式なしデータファイルに対する OPEN 文の RECL 指定子 (レコード長) の値をロングワード (4 バイト単位) ではなく、バイト単位に指定します。書式付きファイルに対する RECL の値は、常にバイト単位です。 ファイルが書式なしデータとして開かれ、assume byterecl が指定されている場合、INQUIRE 文は RECL をバイト単位で返します。それ以外の場合は、ロングワード単位で返します。ユニットが開いていない場合、INQUIRE 文は RECL をバイト単位で返します。 |
assume cc_omp |
OpenMP Fortran API により条件付きコンパイルが有効になります。"!$space" が自由形式ソースにあるとき、または "c$spaces" が固定形式ソースのカラム 1 にあるときは、残りの行は Fortran 行として受け付けられます。 |
assume dummy_aliases |
プロシージャーへの仮引数が他の仮引数 (エイリアス)、または参照結合、ホスト結合、共通ブロックを使用して共有した変数とメモリー位置を共有していると仮定するようにコンパイラーに指示します。 呼び出されるサブプログラムをコンパイルする際のオプションを指定します。仮エイリアシングに関連したプログラム・セマンティクスは、Fortran 95/90 の標準に完全に従っていないため、パフォーマンスが低下します。このため、このオプションを使用しない方がランタイム・パフォーマンスは向上します。 しかし、仮エイリアシングに依存するプログラムでこのオプションを指定しない場合、プログラムはランタイムに予期せぬ動作を引き起こします。このようなプログラムの結果は、行われた最適化の内容に依存します。場合によっては、通常の結果が生じることもありますが、問題を引き起こすエイリアスが関わる演算に使用された値が変わったために、結果が変わる場合もあります。 |
assume ieee_fpe_flags |
浮動小数点例外フラグとステータスフラグをルーチンの入口で保存し、ルーチンの出口で復元するようにコンパイラーに指示します。 このオプションを使用すると、各ルーチンの入口に浮動小数点例外フラグとステータスフラグ (丸めモードも) を保存するためのコードと、出口にそれを復元するためのコードが追加されるため、ランタイム・パフォーマンスが低下します。 このオプションを使用して、IEEE EXCEPTIONS、IEEE ARITHMETIC、および IEEE FEATURES 組み込みモジュールの Fortran 標準の完全な動作を取得できます。これらの組み込みモジュールでは、ルーチンの入口でフラグがシグナル型にある場合、プロセッサーはフラグをクワイエット型にセットして、出口でシグナル型に戻す必要があります。ルーチンの実行中にフラグがシグナル型になっても、ルーチンの出口でクワイエット型にはセットされません。 浮動小数点例外フラグがシグナル型となる初期状態をセットするには、fpe オプションと fpe-all オプションを使用できます。 |
assume minus0 |
プロセッサーが -0.0 と +0.0 を判別できる場合、SIGN 組み込み関数の IEEE* 浮動小数点値 -0.0 を扱う際に Fortran 95 の標準セマンティクスを使用し、書式付き出力に -0.0 の値を負の符号で書き出すようコンパイラーに指示します。 |
assume old_boz |
組み込み関数 INT、REAL、DBLE、および CMPLX の 2 進、8 進、および 16 進の定数引数を、符号付き整数定数として扱うようコンパイラーに指示します。 |
assume old_logical_ldio |
数値項目に対して論理値を受け付けます。 |
assume noold_maxminloc |
引数で空の配列が指定された場合、MAXLOC と MINLOC が 0 を返すようにコンパイラーに指示します。デフォルト設定 (old_maxminloc) と比べると、この動作では空の配列引数をチェックするためのコードが追加されるため、パフォーマンスが低下する可能性があります。 |
assume old_unit_star |
UNIT=* への READ または WRITE が、UNIT=5 または 6 に結合されたファイルに渡されるようにコンパイラーに指示します。 |
assume noold_xor |
コンパイラーが .XOR. を組み込み演算子として定義しないようにします。.XOR. をユーザー定義の演算子として使用できるようにします。これは、Fortran 2003 の機能です。 |
assume noprotect_constants |
定数実引数のコピーを渡すようコンパイラーに指示します。標準 Fortran では行うことができないコピーの変更を、呼び出されたルーチンで変更することができます。呼び出しルーチンは、変数を変更しません。 |
assume protect_parens |
REAL および COMPLEX の式評価で、演算の関連付けを変更せずに、括弧を考慮に入れて最適化するように指示します。例えば、(A+B)+C は A+(B+C) として評価されません。 noprotect_parens が指定されているものとして、(A+B)+C は A+B+C と同じように扱われ、高速なコードを生成する場合は、A+(B+C) として評価されます。 このような再結合は、引数のサイズと精度によって異なる結果を生成することがあります。 例えば、(A+B)+C で B と C の符号が異なり、A と比べて非常に大きな値の場合、A+B は B となり、C を加算すると 0.0 となり得ます。再結合を行うと、B+C は 0.0 となり、A を加算すると非ゼロ値になり得ます。 |
assume realloc_lhs |
代入文の左辺が割り当て可能なオブジェクトの場合は、代入前に右辺の形状に再割り当てするようにコンパイラーに指示します。これは、Fortran 2003 の定義です。この機能は、ランタイム時に余分なオーバーヘッドを引き起こすことがあります。 |
assume nosource_include |
デフォルトのディレクトリーを検索して、USE 文で指定したモジュールファイルまたは INCLUDE 文で指定したソースファイルを探すようコンパイラーに指示します。このオプションは、fpp 動作と USE 文に影響を与えます。 |
assume std_mod_proc_name |
ユーザー定義の外部シンボリック名と競合しないように、モジュール・プロシージャー名を変更するようにコンパイラーに指示します。例えば、モジュール m のプロシージャー proc の名前を m_MP_proc とします。Fortran 2003 規格では、モジュール・プロシージャー名とほかの外部シンボリック名の競合を許可していません。 デフォルトでは、モジュール m のプロシージャー proc の名前は m_mp_proc となりますが、これはユーザー定義の外部名 m_mp_proc と競合します。 |
assume underscore |
ユーザー定義の外部名 (メインプログラム名、名前付き COMMON、BLOCK DATA、MODULE 内のグローバルデータ名、および暗黙的または明示的に EXTERNAL と宣言された名前) に下線を付加するようコンパイラーに指示します。 名前のない共通ブロックは、_BLNK__ のまま残され、Fortran 組み込み名は影響を受けません。 |
assume 2underscores |
下線が含まれているユーザー定義の外部名 (メインプログラム名、名前付き COMMON、BLOCK DATA、MODULE 内のグローバルデータ名、および暗黙的または明示的に EXTERNAL と宣言された名前) に下線を 2 つ付加するようコンパイラーに指示します。名前のない共通ブロックは、_BLNK__ のまま残され、Fortran 組み込み名は影響を受けません。 このオプションは、下線が含まれていない外部名には影響を与えません。デフォルトでは、コンパイラーはこれらの名前に下線を 1 つだけ付加します。例えば、my_program および myprogram という外部名に対して assume 2underscores を指定すると、my_program は my_program__ となりますが、myprogram は myprogram_ となります。 |
assume writeable-strings |
コンパイラーは、文字定数を書き込み可能なメモリーに配置します。 |
assume nobscc |
Linux および Mac OS X: -nbs Windows: /nbs |
assume dummy_aliases |
Linux および Mac OS X: -common-args Windows: /Qcommon-args |
assume underscore |
Linux および Mac OS X: -us Windows: /us |
assume nounderscore |
Linux および Mac OS X: -nus Windows: なし |