我需要使用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 manual建议设置一些环境变量来解决此问题,但是我使用了环境变量FORMAT_TYPE_CHECKING=RELAXED
,没有任何区别。
对于此项目,必须使用cray编译器编译代码 ,因此,切换编译器不是一种选择。
是否有任何允许宽松的隐式类型转换的编译器标志/环境变量?
谢谢。