exception handling in FORTRAN*?

William P. Reeder reeder at emx.utexas.edu
Wed Nov 23 06:32:53 AEST 1988


* usually called "plain old ugly FORTRAN" by UNIX types.

I keep hearing researchers griping to me about NaN's and INF's in FORTRAN
on Suns.  They run a program for several hours only to find the output
full of these pesky quantities.  "Why doesn't it just blow up?", they ask.
"Infinity and NaN are not acceptable values."

They have a point.  Mathematicians may want to preserve NaN's and INF's,
but the average researcher considers them to be radioactive and wants them
to nuke the program.

I decided to RTFM (I'd never make as a user with this attitude :-) and
found f77_ieee_environment(3F) and ieee_handler(3M).  "Great!", I thought.
I quickly checked these things out on our 4/280 and then dashed off a
letter to several of our FORTRAN users.

Then, in an uncontrollable fit of rational behavior I decided to try the
same tests on my 3/50.  First, I forgot to use the -f68881 option on f77
and discovered that ieee_handler didn't support plain old 3/50's.  Why
not, Sun?  A 3/50 is probably as good as the average PC at FORTRAN and
lots of folks use FORTRAN on PCs.  Then I used -f68881 and got "*** Bus
Error = signal 10 code 2" when I tried to execute the code.  I know of at
least one researcher who likes to develop and test codes on a 3/60 before
running them on a 4/280 (or on our X/MP-24 for the really long runs).

Has anyone else run into this problem?  If you know more about it, please
send me e-mail.  I will probably be submitting a bug report about the Bus
Error thing.

William Reeder
University of Texas at Austin
reeder at emx.utexas.edu, ..!uunet.uu.net!cs.utexas.edu!ut-emx!reeder



More information about the Comp.sys.sun mailing list