Проблема возникла из-за расширения кода Fortran 90 среднего размера (~ 8000 строк). Мне не удалось выделить проблему в исполняемый модуль.
Дело в том, что существует массив, объявленный как
integer, allocatable :: somename(:,:)
Компиляция его с помощью ifort приводит к
forrtl: severe (174): SIGSEGV, segmentation fault occurred
Когда я добавлю
if (.not. allocated(somename)) allocate(somename(somedim1,somedim2))
Код будет работать нормально.
Мой вопрос заключается в том, позволяет ли выделение переменной с явным измерением как-то улучшить управление памятью и избежать ошибки сегментации?
PS Я спросил у разработчика стека обмена , но я не уверен, что здесь более уместно.