misc. problems in going from 2.2 to 3.1

Steve Philipson steve at eos.UUCP
Sat Dec 3 09:50:07 AEST 1988


   I recently ported a sizable FORTRAN program from my 4D/60T G to
a 4D/80 GT (or tried, anyway).  I ran into a few probelms that
I hope someone here might be able to help me with.

   First, I'm experiencing a nasty problem with the DBX debugger.
When stopping at a line of FORTRAN source, it displays the line 
preceding the current line.  If you have a line preceded and followed
by blanks, and you specify a "stop" at the desired line number of the
source code, it will tell you that there's no executable code on that
line.  If you tell it to stop on the blank line preceding the executable
line, it will stop on the exectuable line.  Grrr.  This annoying when
stepping through code, as you must keep listing the code to see which
lines are to be executed next.  A minor gripe: I used to be able to 
"assign <logical> = true".  This now yields a "DBX segmentation violation".
If I "assign <logical> = 1", it responds with "true".  Sheesh!

  Some of my old code read input from the terminal (textport) via 
standard FORTRAN READ statements.  The graphics in this program cover
the entire screen, covering both the textport and desktop.  Both 
"foreground" and "fullscreen" calls were used in the old code under 2.2.
Under 3.1, keyboard input can't get to the textport as the cursor seems to 
direct input to the graphics process (which isn't looking for it).  I 
don't want to have the textport visible in this case, and would like to 
make minimal modifications to the code to get this to work again.
Suggestions?

   The 3.1 FORTRAN has been extended to allow direct ports of DEC VMS
FORTRAN.  That's nice, but it doesn't allow direct ports from 2.2 SGI
workstations.  Thanks a lot. :(  ...just part of the price of joining
the de-facto standard I guess.

   One other observation:  it appears that there was a long standing
bug in my code that only reared its ugly head under 3.1.  I was
mistakenly calling the log10 fuction with 0 and negative arguments,
then using the result as the subscipt of an array.  2.2 yielded
reasonable results (although it should have complained), but 3.1 
gave me an immediate crash, and (as I recall) a segmentation violation.
This is not a gripe (the error was mine);  I just thought that some
of you would find it interesting.

   While we're on the subject, are there any other sneaky things to
watch out for in this transition?  (I'd read the documentation, but
I don't have it yet; these tests were done on a borrowed machine.)

  Thanks in advance.
-- 

						   Steve
					(the certified flying fanatic)
					    steve at aurora.arc.nasa.gov



More information about the Comp.sys.sgi mailing list