現行リリースの f95 で、レガシー f77 プログラムをコンパイルおよびテストしたときに生じた非互換性の問題を次に示します。これらの問題は、f95 の比較機能の欠如、または動作の相違点が原因となって発生します。これらの項目は、レガシー Sun WorkShop FORTRAN 77 コンパイラでサポートされる FORTRAN 77 の非標準拡張機能ですが、現在の 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" has been used as a function, therefore it must not be declared with the explicit-shape DIMENSION attribute. end |
プログラム、サブルーチン、関数、文
名前の最大長は 127 文字です。
コマンド行オプション
f95 でサポートされていない FORTRAN 77 ライブラリルーチン