gfortran начался с версии 4.0.Версии 4.1 и 4.2 старые и в них отсутствуют многие функции и могут быть ошибки.Вы можете столкнуться с дополнительными недостающими функциями, которые используются вашим кодом.Я предлагаю, если это вообще возможно, обновить компилятор до текущей стабильной версии 4.5.
Поддержка всех версий gfortran приведет к множеству ограничений в вашем коде.Возможно, было бы лучше определить самую раннюю версию, которая работает, и добавить эту информацию в документацию.Для моего кода это версия 4.3, так как я широко использую привязку ISO C.
Вики gfortran, http://gcc.gnu.org/wiki/GFortran, имеет список изменений по версиям, который может помочь вам определить, какая версия вам нужна.Единственный верный способ - это тестирование.
Если вы хотите применить требование к версии, вы можете выполнить тестирование в Fortran.Вы можете запустить небольшую тестовую программу как часть процесса make и прервать ее, если версия gfortran слишком ранняя.
Следующий фрагмент кода показывает два способа вывода номера версии gfortran из программы на Fortran.Назовите программу с типом файла «.F90», чтобы gfortran вызывал препроцессор.
#ifdef __GFORTRAN__
write (*, '( "gfortran" )' )
write (*, '( I0, ".", I0 )' ) __GNUC__, __GNUC_MINOR__
! Merged version number:
#define GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
write (*, '( I0 )' ) GCC_VERSION
#endif