私たちはFortran90で書かれた複雑なプログラムを持っていますが、私はFortran95コンパイラーしか見つけることができませんでした。残念ながら、アクセスと経験は限られていますが、問題についてすぐに洞察する必要があります。
Fortran 90コードは、gfortranなどのFortran 95コンパイラで常に正しくコンパイルされますか?
Fortranバージョンは下位互換性があり、おそらく障害があります。Fortran95標準では、最終的に削除された非常に(当然のことながら)あいまいな構造がいくつかありました。たとえば、このページから:
Fortran 95は、次のFortran90およびFORTRAN77機能が削除されたことを示します。
- ASSIGNおよび割り当てられたGOTOステートメント
- PAUSEステートメント
- O制御変数と実数型の式
- H編集記述子
- IFブロックの外部からENDIFステートメントに分岐する
ただし、コードでこれらを使用しない限り(使用しないでください)、F95で問題ないはずです。-std=legacy
それ以外の場合、ほとんどのF95コンパイラには、gfortranなどの古いコードをコンパイルできるモードがあります。
IBMを除くFortranコンパイラーは、下位互換性があります。したがって、有効なF90コードはすべてF95コンパイラでコンパイルされます。
IBMは別の方法で物事を行い、上位互換性があるようです。したがってxlf
、77以降をコンパイルxlf90
し、90/95などをコンパイルします。
注意してください、常に強い言葉です。そしてそれは本当にあなたのコンパイラメーカーに依存します。しかし、GNUFortranまたはIntelFortranには、F2003 / 2008のサポートが不十分な場合もありますが、現在、Fortranのすべてのフレーバーに対して1つのコンパイラしかありません。