Cray Fortran コンパイラを使用して、いくつかのレガシー Fortran コードをコンパイルする必要があります。このプロジェクトは大規模なコードベースであり、コンパイルできるようにコードの変更をできるだけ少なくしたいと考えています。コンパイルされないコードの簡略化されたバージョンは次のとおりです。
program program_name
implicit none
logical :: hello
hello = 0
end program program_name
gfortran でコンパイルすると、コードは次の警告をスローしますが、正常に実行されます。
Warning: Extension: Conversion from INTEGER(4) to LOGICAL(4) at (1)
ftn (cray コンパイラ) でコンパイルすると、コードはエラーをスローし、コンパイルされません。
Assignment of a INTEGER expression to a LOGICAL variable is not allowed.
Cray fortran のマニュアルでは、この問題を解決するためにいくつかの環境変数を設定することを提案していますが、私は環境変数を使用しましたFORMAT_TYPE_CHECKING=RELAXED
が、違いはありませんでした。
このプロジェクトでは、cray コンパイラを使用してコードをコンパイルする必要があるため、コンパイラを切り替えることはできません。
緩和された暗黙の型変換を可能にするコンパイラ フラグ/環境変数はありますか?
ありがとうございました。