Расслабленное неявное преобразование типов между целым и логическим с помощью Cray Fortran Compiler (cce 8.7.9) - PullRequest
0 голосов
/ 13 июня 2019

Мне нужно скомпилировать некоторый старый код 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, поэтому переключение компиляторов не вариант.

Существуют ли какие-либо флаги компилятора / переменные среды, которые допускают неявное неявное преобразование типов?

Спасибо.

...