[net.micro.att] f77 problem on 3B2/310

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).