1

我需要使用 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 编译器编译代码,因此切换编译器不是一种选择。

是否有任何编译器标志/环境变量允许轻松的隐式类型转换?

谢谢你。

4

0 回答 0