https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98890
Jerry DeLisle <jvdelisle at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jvdelisle at gcc dot gnu.org --- Comment #5 from Jerry DeLisle <jvdelisle at gcc dot gnu.org> --- (In reply to Tobias Burnus from comment #4) > Related issue but without an ICE: > > contains > integer function f1() > !f2 = 1 ! gives an error as expected > j = f2 ! <<<< accepted; cast of function addr to integer(kind=4) > f1 = 1 ! ↑ ifort: 'already been used as an external function name' > end function > integer function f2() > f2=1 > end function > end A variation with a question: program p1 implicit none integer j, k j = 99 k = f1() print *, j, k contains integer function f1() !f2 = 1 j = f2 ! Should this be warned or rejected? print *, j f1 = 1 ! This should not be rejected end function integer function f2() f2=1 end function end