https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105012
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |wrong-code
--- Comment #10 from Richard Biener <rguenth at gcc dot gnu.org> ---
likely triggered by the INTENT(out), it looks like gfortran fails to properly
name-lookup a variable of the same name as the function? The intent is likely
to have the return value assigned by CALERF_r8. So it also looks like gfortran
miscompiles such testcase.
The following sketches a miscompiled testcase (but my fortran fu is too weak to
make it compile)
PROCEDURE Y (Z)
real(8), intent(out) :: Z
Z = 1.
END PROCEDURE Y
FUNCTION X
real(8) :: X
CALL Y (X)
END FUNCTION X
PROGRAM TEST
real(8) :: Z
Z = X();
if (Z.ne.1.) STOP 1
END