[comp.lang.fortran] IEEE error handler for SUN FORTRAN

zhang@buast7.bu.edu (Zhang Yun Fei) (01/24/91)

I have a question about the error handler of SUN FORTRAN. The question is how
to locate the location where an arithmetic error occurs in a program. This is
especially helpful as I am writing a computation-intensive code. On VAX/VMS 
machines, the code will crash when it encounter these arithmetic error and tell
the user where it occures. However, on SUNs, it only shows a message at the end
of the job says something like the following:
 
>  Warning: the following IEEE floating-point arithmetic exceptions 
>  occurred in this program and were never cleared: 
>  Inexact;  Division by Zero;  Invalid Operand; .....

My question is how the determine the point(s) in the code where such indicated 
arithmetic exceptions happened. Try to modifying the IEEE error handler (e.g.
sigfpe_ieee, etc.) seems a possible approach. But it involves changes in these
lower level routine, which I am reluctant to try. Is there any other option
I can have to archive the some goal? (e.g., compiletion/linking options or 
software tools). 

Any suggestion are welcome.

Please E-mail your resopnse to this message to zhang@buast0.bu.edu. If there
are enough people interesting in these topic, I will summarize the responses
on the newsgroup.


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%    Yun Fei Zhang             %    E-mail:                                %
%    Astronomy Department      %       SPAN: east::"zhang@buast0.bu.edu"   %
%    Boston University         %     BITNET: zhang@buasta                  %
%    725 Commonwealth Ave.     %     INTnet: zhang@buast0.bu.edu           %
%    Boston, MA 02215          %             zhang@bu-ast.bu.edu           %
%--------------------------------------------------------------------------%
%                          TEL: (617)-353-8917                             %
%                        TELEX: 95-1289 BOS UNIV BSN                       %
%                      TELEFAX: (617)-353-5704                             %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%