https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85138
Paul Thomas <pault at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2018-03-31 CC| |pault at gcc dot gnu.org Summary|ICE with generic function |[8 regression] ICE with | |generic function Ever confirmed|0 |1 --- Comment #1 from Paul Thomas <pault at gcc dot gnu.org> --- Confirmed as a regression in 8-branch. Earlier branches give if (.not.checkFmt(fmt)) then 1 Error: Reference to impure function ‘checkfmt’ at (1) within a PURE procedure Adding: interface pure logical function checkFmt(arg) character(len = *), intent(in) :: arg end function end interface makes the problem go away. Paul