[ANNOUNCEMENT] TEST RELEASE: Cygwin 2.11.0-0.1
Houder
houder@xs4all.nl
Fri Aug 10 12:43:00 GMT 2018
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
More information about the Cygwin
mailing list