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

印刷ビューの終了

更新: 2014 年 12 月
 
 

5.2 非互換性の問題

現行リリースの 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 に変換する代わりに、複素引数の実数部を返します。これにより、引数が DOUBLECOMPLEX、または 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 文字です。

コマンド行オプション

  • f95f77 コンパイラの -dbl-oldstruct-i2-i4の各オプション、および -vax の一部のサブルーチンを認識しません。

f95 でサポートされていない FORTRAN 77 ライブラリルーチン

  • POSIX ライブラリ。

  • IOINIT() ライブラリルーチン

  • テープ入出力ルーチンtopentclosetwritetreadtrewintskipf、tstate

  • start_iostats および end_iostats ライブラリルーチン

  • f77_init() 関数。

  • f95 では、IEEE_RETROSPECTIVE サブルーチンが同じ名前を持つユーザー独自のルーチンを定義することによってバイパスされることを許可していません。