However, in g77, the real*4 of the function was 'detected' and
auto-promoted to real*8 in the subroutine. There was loss of precision,
but that was not important to us. The g77 compiler seemed to have no
problem at all in knowing that the precision of the subroutine and
function differed, and handling the difference gracefully.
gfortran, on the other hand, gives errant results for the real*8 variable,
and there is no possible warning by the compiler. This comes back to my
original question: if g77 handles this correctly, why does gfortan fail?