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