rosenblg@acf4.UUCP (Gary J. Rosenblum) (08/07/86)
I came across an interesting problem with the f77 compiler. While
compling one of many subroutines, I got the message
"Termination code 139". Of course, this message was nowhere to be
found, but I tracked down my problem to be that (quoting from the UNIX System
V Fortran-77 Programmer's Manual) "UNIX System FORTRAN-77 requires that
all double precision real and complex quantities fall on even word boundaries.
A diganostic warning is issue if the source code demands a violation of
that rule." But no other message was produced. Was there another
place I should have looked? It took a while to track down!
Gary Rosenblum
{allegra!cmcl2!rosenblg or
rosenblg@nyu.arpa}rosenblg@acf4.UUCP (Gary J. Rosenblum) (08/07/86)
Sorry, I jumped the gun. The problem is not with boundaries or
alignment, but instead there is a bizarre problem with double
precision. for example, try compiling the following:
subroutine plot (x, n)
double precision x(n)
double precision xmin
integer w
j = (x(i) - xmin) * w <== this works, BUT
j = w * (x(i) - xmin) does not!
return
end
changing the minus sign to a division or multication works, as does other
random things, like switching xmin with x(i).