On Fri, 10 Aug 2018 13:42:54, Corinna Vinschen wrote: [snip] > > Note: the following line must be changed in STC-FENV.c (the STC that was > > attached to the bug report -- the last one above). > > > > from: > > const int xxx =3D 0x3d; // FE_ALL_EXCEPT on Linux, i.e. the denormal-... > > // exception is excluded on Linux > > > > to: > > const int xxx =3D 0x3f; // Cygwin allows the denormal-operand exception; > > // Linux (Andreas Jaeger) does not. > > // This exception is not defined by the IEEE 754 > > // standard (Floating-Point Arithmetic) > > Shall we change that? A patch would be nice. ;)
That is possible ... As on Linux, the denormal-operand exception will always be masked after this change ... (both in the default env. and in the "nomask" env.) Meaning that, after this change, this exception can * no longer * be enabled through the API of fenv.h Objections? Anyone? The modication would require changing: winsup/cygwin/fenv.cc (_feinitialise() ) winsup/cygwin/include/fenv.h (FE_ALL_EXCEPT) /usr/include/fenv.h (which is a copy of the above, I am guessing ?????) In _feinitialise() this line must be changed: from: 434 mxcsr = FE_ALL_EXCEPT << FE_SSE_EXCEPT_MASK_SHIFT; to: 434 mxcsr = 0x3f << FE_SSE_EXCEPT_MASK_SHIFT; Regards, Henri -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple