On Fri, Sep 10, 2010 at 09:53:28PM +0100, Dave Korn wrote:
>
>
>    Hi folks,
>
>  This patch adds fenv.h and the related support routines in the Cygwin DLL.
>It's an entirely unencumbered implementation that I wrote from scratch using
>only the public docs for reference.  We've been missing this for a while, what
>with PR323 and all, and if we add it in we'll be able to switch on the new
>decimal-floating-point features in the compiler.  (Amongst I'm sure many other
>uses).
>
>winsup/cygwin/ChangeLog:
>
>       * Makefile.in (DLL_OFILES): Add new fenv.o module.
>       (fenv_CFLAGS): New flags definition for fenv.o compile.
>       * autoload.cc (std_dll_init): Use fenv.h functions instead of direct
>       manipulation of x87 FPU registers.
>       * crt0.c (mainCRTStartup): Likewise.
>       * cygwin.din (feclearexcept, fegetexceptflag, feraiseexcept,
>       fesetexceptflag, fetestexcept, fegetround, fesetround, fegetenv,
>       feholdexcept, fesetenv, feupdateenv, fegetprec, fesetprec,
>       feenableexcept, fedisableexcept, fegetexcept, _feinitialise,
>       _fe_dfl_env, _fe_nomask_env): Export new functions and data items.
>       * fenv.cc: New file.
>       * posix.sgml: Update status of newly-implemented APIs.
>       * include/fenv.h: Likewise related header.
>       * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
>
>  Testing: well, I'm running the GCC testsuite against it to verify it builds
>functioning decimal floating point code, and I've manually tested some of the
>simple functionality like setting the exceptions on and off.  That's all so
>far, but I think it's close enough (and given that it's new functionality) to
>check in and fix any bugs that crop up on HEAD.  (I'd like to also see if I
>can run some of the LSB or Posix verification testsuites against it, but I
>don't know what's involved in that yet; if anyone has any experience with any
>of that stuff, I'd appreciate being dropped a note off-list with a few 
>pointers.)

Looks nice to me with one HUGE caveat:  Please maintain the pseudo-sorted
order in cygwin.din.  Sorry to have to impose this burden on you.

Other than that, please check in and thanks for the patch.  It was obviously
a lot of work.

cgf

Reply via email to