現行リリースの f95 で、従来の f77 プログラムをコンパイルおよびテストしたときに生じた非互換性の問題を次に示します。これらの問題は、f95 の比較機能の欠如、または動作の相違点が原因となって発生します。次の項目は、FORTRAN 77 の非標準の拡張機能であり、f77 でサポートされていても f95 でサポートされていません。
ソースの書式
-f77 オプションを指定すると、6 文字を超える名前に対し ANSI 警告が発せられます。
入出力
f95 は、直接探査ファイルで ENDFILE を許可しません。
f95 は、直接探査入出力でレコード番号を指定する 'n 書式 (例: READ (2'13) X,Y,Z) を認識しません。
f95 は、従来の f77 "R" 書式編集記述子を認識しません。
f95 では、CLOSE 文における DISP= 指定子を許可しません。
WRITE 文でのビット定数は許可されません。
Fortran 95 NAMELIST は、可変長の配列および文字列を許可しません。
RECL=1 を使用して直接探査ファイルを開くことは、「ストリーム」ファイルとしては使用できません。代わりに FORMAT='STREAM' を使用してください。
Fortran 95 は、不当な入出力指定子をエラーとしてレポートします。f77 では警告のみです。
データ型、宣言、および用法
f95 では 7 つしか配列添字を使用できません。f77 では 20 個まで使用できます。
f95 は、PARAMETER 文での非定数を許可しません。
CHARACTER 型宣言の初期化子では整数値は使用できません。
REAL() 組み込み関数は、引数を REAL*4 に変換する代わりに、複素引数の実数部を返します。これにより、引数が DOUBLE、COMPLEX、または COMPLEX*32 の場合に、異なる結果が返されます。
Fortran 95 は、配列が宣言される前に、境界式の配列要素を許可しません。次に例を示します。
subroutine s(i1,i2) integer i1(i2(1):10) dimension i2(10) ...ERROR: "I2" は関数として使用されているため、 形状明示 DIMENSION 属性を付けて宣言してはいけません。end |
プログラム、サブルーチン、関数、文
名前の最大長は 127 文字です。
コマンド行オプション
f95 がサポートしていない f77 ライブラリルーチン