------- Additional Comments From prw at ceiriog1 dot demon dot co dot uk 2005-05-04 17:28 ------- The problem occurred in a large finite element analysis code I developed. The toplevel logic was written in C++, and this was linked to a venerable public domain numerical analysis library in Fortran. My testcase consists of the following two files. You only get a floating point exception if IEEE floating point exceptions are enabled. I don't know if it is possible to do this from a pure Fortran program, but it is certainly possible to do from C, and I find it important to do this in numerical codes so that I can see errors where they occur rather than just propagating NaN's through the program.
File "toplevel.c": #include <fenv.h> main() { feenableexcept(FE_DIVBYZERO | FE_INVALID | FE_OVERFLOW ); killer_(); } File "killer.f": subroutine killer write(6,'(x,e10.4)') 1.0 end gcc -c toplevel.c gfortran -c killer.f gcc toplevel.o killer.o -lgfortran ./a.out -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21376