互換性オプションは、ソースファイルおよびデータファイルが以前の Fortran バージョンやその他のオペレーティング・システムにおける、ビッグ・エンディアン形式の書式なしデータファイル、OpenVMS* システムでのランタイム動作、および Microsoft* Fortran PowerStation などの互換性をどのように確保するかを指定します。
関連情報
デフォルト: オフ
代替構文: -onetrip
DO ループを少なくとも 1 回実行するようコンパイラに指示します。また、-[no]f66 も参照してください。
デフォルト: -assume nobscc
代替構文: -nbs は -assume nobscc と同じです。
バックスラッシュ文字 (\) を C 言語の文字リテラルで使用される制御 (エスケープ) 文字として処理するようコンパイラに指示します。デフォルト値の -assume nobscc ("assume no BackSlashControlCharacters") を指定した場合、バックスラッシュ文字を文字リテラルで使用される制御文字ではなく、通常の文字として処理するようコンパイラに指示します。
このオプションは、プログラムを UNIX* 以外の環境、例えば OpenVMS* から移行するときに役立ちます。
デフォルト: -convert native
数値データが含まれている書式なしファイルの形式を指定します。設定可能な値は以下のとおりです。
-convert big_endian
-convert cray
-convert ibm
-convert little_endian
-convert native
-convert vaxg
-convert vaxd
詳細は 「サポートされるネイティブ数値形式と非ネイティブ数値形式」を参照してください。
デフォルト: -nof77rtl
FORTRAN 77 ランタイム動作の使用を指定します。デフォルト値 (-nof77rtl) を使用した場合、インテル® Fortran ランタイム動作が使用されます。
このオプションを指定すると、次のランタイム動作を制御します。
ユニットがファイルに結合されていない場合、一部の INQUIRE 指定子は異なる値を返します。
NUMBER は 0 を返します。ACCESS、BLANK、および FORM は 'UNKNOWN' を返します。
リスト指定入力の文字列は、アポストロフィまたは引用符で区切る必要があります。区切らなかった場合、エラーが発生します。
NAMELIST 入力を処理する場合、各レコードの列 1 は、スキップされます。さらに、グループ名の前に表示される '$' または '&' は、入力レコードの列 2 に表示する必要があります。
デフォルト: -fpscomp libs
Microsoft* Fortran PowerStation と互換性のあるすべての -fpscomp オプションを使用するよう指定します。デフォルトのオプションは、PowerStation 移植ライブラリをリンカに渡すよう指定します。
-fpscomp none オプションは、Fortran PowerStation と互換性のあるオプションを一切使用しないよう指定します。
デフォルト: -fpscomp nofilesfromcmd
OPEN 文のファイル指定子が空の場合に行う Microsoft* Fortran PowerStation の動作を指定します。このオプションは、コマンドライン引数の OPEN(. . . FILE=' ', . . .) 文で、指定されていないファイル名を検索して、端末コンソールでファイル名の入力を要求します。
デフォルト: -fpscomp nogeneral
インテル Fortran と PowerStation 間における違いで Microsoft* Fortran PowerStation セマンティクスを使用するよう指定します。
デフォルト: -fpscomp noioformat
Microsoft* Fortran PowerStation セマンティクス規則、およびリスト指定の書式付き I/O および書式なし I/O のレコード書式を指定します。
デフォルト: -fpscomp noldio_spacing
リスト出力で、文字値 (非区切り文字列) の前で数値の後に実行時に空白を挿入するかどうかを指定します。デフォルトは -fpscomp noldio_spacing で、文字値の前で数値の後に空白を挿入します (Fortran 95 規格に準拠)。Fortran PowerStation およびインテル Fortran の 8.0 以前のバージョンとの互換性のために非標準の動作が必要な場合は、-fpscomp ldio_spacing または -fpscomp general (-fpscomp ldio_spacing がセットされる) のいずれかを指定します。
デフォルト: -fpscomp libs
PowerStation 移植ライブラリをリンカに渡すよう指定します。
デフ1ルト: -fpscomp nologicals
LOGICAL 値の内部バイナリ表現と使用方法を指定します。
nologicals が指定された場合、奇数の整数値 (最下位ビットが 1) は TRUE、偶数の整数値 (最下位ビットが 0) は FALSE として処理されます。 リテラル定数 .TRUE. は整数値 -1、リテラル定数 .FALSE. は整数値 0 になります。
logicals が指定された場合、ゼロ以外の整数値は TRUE、ゼロは FALSE として処理されます。 リテラル定数 .TRUE. は整数値 1、リテラル定数 .FALSE. は整数値 0 になります。
デフォルト (-fpscomp nologicals) は Compaq* Fortran と互換性があります。インテル Fortran の 8.0 より前のバージョンでは、-fpscomp logicals で指定された表現が使用されていました。
LOGICAL 値の内部表現は Fortran 規格では指定されていません。LOGICAL コンテキストで整数値を使用するプログラム、または LOGICAL 値を他の言語で記述されたプロシージャに渡すプログラムは可搬性がなく、正しく動作しません。インテルでは、LOGICAL 値の内部表現に依存するコーディングを行わないことを強く推奨します。
デフォルト: オフ
32 ビットカウンタ付きのプロファイル・データを生成します。デフォルトでは、64 ビットカウンタ付きのプロファイル・データを生成して、多くのイベントを処理します。
このオプションを使用して、以前のバージョンのコンパイラとの互換性を維持します。
デフォルト: オフ
ランタイムのシステムで、OpenVMS Alpha システムおよび VAX* システム (VAX FORTRAN*) 上の HP Fortran のように次の動作を行います。
一部のデフォルト設定
他のオプションが存在しないため、-vms は -check format および -check output_conversion をデフォルトとして設定します。
アライメント
-vms オプションは、レコード内のフィールドおよび共通ブロックに含まれた項目のアライメントには影響しません。OpenVMS システム上の HP Fortran との互換性を確保するために、-align norecords を使用して、次のバイト境界上にあるレコードのフィールドをパックします。
キャリッジ制御のデフォルト設定
-vms -ccdefault default が指定されている場合、ファイルの書式が設定されていて、なおかつユニットが端末に結合されていると、キャリッジ制御は FORTRAN をデフォルトとして設定します。
INCLUDE 修飾子
コンパイル時に、INCLUDE 文でのファイル名の最後に記述された /LIST と /NOLIST が認識されます。
INCLUDE 文でのファイル名が完全パスで指定されていない場合、現在のディレクトリがパスとして使用されます。
-vms が指定されていない場合、INCLUDE 文を含むファイルが保存されたディレクトリのパスが使用されます。
引用符文字
引用符 (") 文字は、文字リテラル ("...") ではなく 8 進定数 ("0..7) として認識されます。
相対ファイル内の削除されたレコード
相対ファイル内のレコードが削除されると、そのレコードの最初の 1 バイトは既知の文字 (現在は ' @ ' ) に設定されます。後でこのレコードの読み取りを試みると、ATTACCNON エラーが発生します。残りのレコード (-vms が設定されていない場合はレコード全体) は、書式なしファイルの場合はヌルに、書式付きファイルの場合は空白に設定されます。
ENDFILE レコード
ENDFILE がシーケンシャル・ユニットに対して実行されると、CTRL/Z を含む 1 バイトのレコードがファイルに書き出されます。-vms が指定されていない場合、内部の ENDFILE フラグが設定され、ファイルは切り捨てられます。
-vms オプションは相対ファイルの ENDFILE には影響しません。これらのファイルは切り捨てられます。
暗黙的な論理ユニット番号
-vms オプションを指定することで、ランタイム時の ACCEPT 文、PRINT 文、および TYPE 文、そしてユニット番号を指定しない READ 文および WRITE 文 (例えば READ (*,1000)) でインテル Fortran が特定の環境変数を認識します。
入力に含まれた空白の処理
-vms オプションは、外部または内部ファイルにおける OPEN 文の BLANK キーワードのデフォルトを明示的な OPEN 文の場合は 'NULL' に、暗黙的な OPEN 文の場合は 'ZERO' として処理します。詳細は、OPEN 文の説明を参照してください。
OPEN 文の効果
キャリッジ制御は、ファイルの書式が設定されていて、なおかつユニットが端末に結合されている場合 (isatty(3) によって確認されます)、FORTRAN をデフォルトとして設定します。それ以外の場合は、キャリッジ制御は LIST をデフォルトとして設定します。
-vms オプションは、直接アクセスおよび相対編成ファイルのレコード長に影響します。削除されたレコード文字に応じてバッファのサイズが 1 増えます。
削除されたレコードおよび ENDFILE レコードの読み取り
ランタイムの直接アクセス READ ルーチンは、取り出したレコードの最初の 1 バイトを確認します。このバイトが ' @ ' またはヌル ("\0") の場合、ATTACCNON エラーを返します。
ランタイムのシーケンシャル・アクセス READ ルーチンは、読み取ったレコードに 1 バイトの長さで、CTRL/Z が含まれているかどうかを確認します。そうであれば、ファイル終了 (EOF) を戻します。