Мне нужно скомпилировать некоторый старый код Fortran с помощью компилятора Cray 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, поэтому переключение компиляторов не вариант.
Существуют ли какие-либо флаги компилятора / переменные среды, которые допускают неявное неявное преобразование типов?
Спасибо.