1) fesetexcept(FE_EXCEPT_ALL) sets the control fpu control word to 0x342, so that the denormal operand exeption is masked, by definition all exceptions are supposed to be enabled so it should be using 0x340.
2) If I establish a signal handler for FPEs the fpu is being reset to its default state before the signal handler is called, so that fegetexcept and fegetenv are unable to return any information about the exception that occured. here is information about my FC2 x86_64 athlon system: [EMAIL PROTECTED] burlen]$ g++ -v Reading specs from /usr/lib/gcc-lib/x86_64-redhat-linux/3.3.3/specs Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --disable-libunwind-exceptions --with-system-zlib --enable-__cxa_atexit --host=x86_64-redhat-linux Thread model: posix gcc version 3.3.3 20040412 (Red Hat Linux 3.3.3-7) -- Summary: FPE, floating point exception bugs Product: gcc Version: 3.3.3 Status: UNCONFIRMED Severity: major Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: burlen at apollo dot sr dot unh dot edu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31106