https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89904
--- Comment #6 from seurer at gcc dot gnu.org --- Actually, it is the opposite. With 24-33 commented out: seurer@makalu-lp1:~/gcc/build/gcc-test$ cat /home/seurer/gcc/gcc-test/gcc/testsuite/gfortran.dg/pr85797.f90 . . . ! module m ! contains ! function f () result (z) ! { dg-warning "Return value" } ! class(*), pointer :: z ! end function f ! recursive subroutine s (q) ! procedure(f) :: q ! call s (q) ! end subroutine s ! end seurer@makalu-lp1:~/gcc/build/gcc-test$ /home/seurer/gcc/build/gcc-test/gcc/testsuite/gfortran/../../gfortran -B/home/seurer/gcc/build/gcc-test/gcc/testsuite/gfortran/../../ -B/home/seurer/gcc/build/gcc-test/powerpc64-unknown-linux-gnu/./libgfortran/ /home/seurer/gcc/gcc-test/gcc/testsuite/gfortran.dg/pr85797.f90 -fno-diagnostics-show-caret -fno-diagnostics-show-line-numbers -fdiagnostics-color=never -O -Wall -S -o pr85797.s /home/seurer/gcc/gcc-test/gcc/testsuite/gfortran.dg/pr85797.f90:7:16: Warning: Non-RECURSIVE procedure 'a' at (1) is possibly calling itself recursively. Declare it RECURSIVE or use '-frecursive' during GIMPLE pass: ccp /home/seurer/gcc/gcc-test/gcc/testsuite/gfortran.dg/pr85797.f90:22:0: internal compiler error: in fold_convert_loc, at fold-const.c:2552 0x106a8b87 fold_convert_loc(unsigned int, tree_node*, tree_node*) /home/seurer/gcc/gcc-test/gcc/fold-const.c:2552 0x10e9e8fb build_zero_cst(tree_node*) /home/seurer/gcc/gcc-test/gcc/tree.c:2382 0x10c592fb evaluate_stmt /home/seurer/gcc/gcc-test/gcc/tree-ssa-ccp.c:1997 0x10c5aa63 visit_assignment /home/seurer/gcc/gcc-test/gcc/tree-ssa-ccp.c:2352 0x10c5acfb ccp_propagate::visit_stmt(gimple*, edge_def**, tree_node**) /home/seurer/gcc/gcc-test/gcc/tree-ssa-ccp.c:2430 0x10d13433 ssa_propagation_engine::simulate_stmt(gimple*) /home/seurer/gcc/gcc-test/gcc/tree-ssa-propagate.c:230 0x10d138cb ssa_propagation_engine::simulate_block(basic_block_def*) /home/seurer/gcc/gcc-test/gcc/tree-ssa-propagate.c:337 0x10d159a3 ssa_propagation_engine::ssa_propagate() /home/seurer/gcc/gcc-test/gcc/tree-ssa-propagate.c:802 0x10c5399f do_ssa_ccp /home/seurer/gcc/gcc-test/gcc/tree-ssa-ccp.c:2471 0x10c5399f execute /home/seurer/gcc/gcc-test/gcc/tree-ssa-ccp.c:2515 With the rest commented out but not lines 24-33: seurer@makalu-lp1:~/gcc/build/gcc-test$ cat /home/seurer/gcc/gcc-test/gcc/testsuite/gfortran.dg/pr85797.f90 . . . ! subroutine a ! c = transfer (a, b) ! { dg-warning "Non-RECURSIVE procedure" } ! end ! ! recursive subroutine d ! c = transfer (d, b) ! end ! ! recursive subroutine e ! k = transfer (transfer (e, e), 1) ! end ! ! subroutine f ! use, intrinsic :: iso_c_binding ! integer(c_intptr_t) :: b, c ! c = transfer (transfer (b, a), b) ! end module m . . . seurer@makalu-lp1:~/gcc/build/gcc-test$ /home/seurer/gcc/build/gcc-test/gcc/testsuite/gfortran/../../gfortran -B/home/seurer/gcc/build/gcc-test/gcc/testsuite/gfortran/../../ -B/home/seurer/gcc/build/gcc-test/powerpc64-unknown-linux-gnu/./libgfortran/ /home/seurer/gcc/gcc-test/gcc/testsuite/gfortran.dg/pr85797.f90 -fno-diagnostics-show-caret -fno-diagnostics-show-line-numbers -fdiagnostics-color=never -O -Wall -S -o pr85797.s a->name=='(null)' /home/seurer/gcc/gcc-test/gcc/testsuite/gfortran.dg/pr85797.f90:26:26: Warning: Return value 'z' of function 'f' declared at (1) not set [-Wreturn-type] seurer@makalu-lp1:~/gcc/build/gcc-test$