При попытке собрать старую программу gfortran ушел в вечный цикл. После редукции текста удалось получить 8 строчек вешающих компилятор.
CHARACTER*1 FUNCTION test(H)
CHARACTER*1 test2,TR,aTP
ENTRY test2(L)
CALL ttest3(aTP)
test = TR
RETURN
END
Самое подлое, что компилятор не выдаёт ошибки, а зависает. При этом зависает именно на сочетании ENTRY, объявления переменных одной строкой и вызова функции ttest3. Хотя она никак логически не связана с другими частями программы.
Проверено на 6 и 7 версиях gfortrana. Ну и на MINGW. Ничего не изменилось при изменении -std={any_std}
Хотел отписаться в багтрекер GCC, но там регистрация закрыта.