XL Fortran for AIX V8.1.1

ランゲージ・リファレンス


第 5 部 付録および後付け


付録 A. 異なる標準の間の互換性

この情報は、FORTRAN 77 のユーザーで、Fortran 95、Fortran 90 および XL Fortran については詳しくないユーザーのためのものです。

以下に記載した点以外では、Fortran 90 標準および Fortran 95 標準が、先行の Fortran 国際標準 (Fortran International Standard)、ISO 1539-1:1980 (略式名称 FORTRAN 77) の、上位互換性のある拡張言語です。標準適応の FORTRAN 77 プログラムは、Fortran 90 標準の環境下でも標準適応となります。ただし、組み込みプロシージャーについての下記の項目 4 は例外です。標準適応の FORTRAN 77 プログラムは、削除された機能をプログラムで使用しない限り、 Fortran 95 標準の環境下でも標準適応となります。ただし、組み込みプロシージャーについての下記の項目 4 は例外です。 Fortran 90 標準および Fortran 95 標準では、一部の機能の動作が制限されています (これらの機能は、FORTRAN 77 ではプロセッサー依存のものです)。したがって、これらのプロセッサー依存の機能のうち、いずれかを使用している標準適応の FORTRAN 77 プログラムは、Fortran 90 標準および Fortran 95 標準の環境下で使用すると、標準適応プログラムであるにもかかわらず、変換内容が変わってしまう可能性があります。以下の FORTRAN 77 の機能を Fortran 90 および Fortran 95 の環境下で使用すると、変換結果が異なります。

  1. FORTRAN 77 では、DATA ステートメントの DOUBLE PRECISION データ・オブジェクトの初期化に実定数が使用される場合、プロセッサーは、実際のデータに格納できる定数の精度より高い精度を提供することができました。Fortran 90 および Fortran 95 では、プロセッサーにこのオプションはありません。

    XL Fortran の以前のリリースは、Fortran 90 および Fortran 95 の動作と整合性があります。

  2. 共通ブロックに属さない名前付き変数が、DATA ステートメントで初期化され、SAVE の属性が指定されなかった場合、FORTRAN 77 では、SAVE 属性をプロセッサー依存にしました。Fortran 90 標準および Fortran 95 標準では、この名前付き変数に、SAVE 属性を持たせるように指定します。

    XL Fortran の以前のリリースは、Fortran 90 および Fortran 95 の動作と整合性があります。

  3. FORTRAN 77 では、入力リストで要求する文字数は、入力のフォーマット時にレコードに格納される文字数以下でなければなりませんでした。Fortran 90 標準および Fortran 95 標準では、入力レコードの文字数が不足する場合、適切な OPEN ステートメントに PAD='NO' 指定子が指定されていなければ、入力レコードに論理的にブランクを埋め込むことを指定します。

    XL Fortran では、-qxlf77 コンパイラー・オプションの noblankpad サブオプションが指定されている場合は、入力レコードにブランクが埋め込まれません。

  4. Fortran 90 標準および Fortran 95 標準には、FORTRAN 77 よりも多くの組み込み関数があり、組み込みサブルーチンがいくつか追加されています。したがって、標準適応の FORTRAN 77 プログラムを Fortran 90 および Fortran 95 の環境下で使用すると、変換結果が異なる可能性があります。これは、FORTRAN 77 で、新標準の組み込みプロシージャーのいずれかと同じ名前のプロシージャーを呼び出した場合に起こります。ただし、このプロシージャーを EXTERNAL ステートメントに指定した場合は例外です。

    XL Fortran では、指定された名前のプロシージャーが、-qextern コンパイラー・オプションによって、EXTERNAL ステートメントに指定されたプロシージャーであるかのように扱われます。

  5. Fortran 95 では、編集記述子によっては、定様式出力ステートメント内のリスト項目で使う 0 値のフォーマット結果が異なる場合があります。しかも、Fortran 95 標準は FORTRAN 77 と違い、値を丸めることで出力フィールドの形式にどのような影響を与えるかを指定します。したがって、値と編集記述子の特定の組み合わせによっては、FORTRAN 77 プロセッサーは Fortran 95 プロセッサーを使用する場合とは異なる出力形式を生成する可能性があります。
  6. Fortran 95 では、Fortran 90 では行えなかった、正の実数ゼロと負の実数ゼロをプロセッサーによって見分けることが可能です。 Fortran 95 は、2 番目の引き数が負の実数ゼロの場合、SIGN 組み込み関数の動作を変更します。


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]