* include/_mingw.h: Increment version to 2.0.
* Makefile.in: Ditto. Merge in mingwex branch.
This commit is contained in:
18
winsup/mingw/mingwex/feholdexcept.c
Normal file
18
winsup/mingw/mingwex/feholdexcept.c
Normal file
@@ -0,0 +1,18 @@
|
||||
#include <fenv.h>
|
||||
|
||||
/* 7.6.4.2
|
||||
The feholdexcept function saves the current floating-point
|
||||
environment in the object pointed to by envp, clears the exception
|
||||
flags, and then installs a non-stop (continue on exceptions) mode,
|
||||
if available, for all exceptions. */
|
||||
|
||||
int feholdexcept (fenv_t * envp)
|
||||
{
|
||||
fenv_t tmp_env;
|
||||
__asm__ ("fnstenv %0;" : "=m" (* envp)); /* save current into envp */
|
||||
tmp_env = * envp;
|
||||
tmp_env.__status_word &= ~FE_ALL_EXCEPT; /* clear exception flags */
|
||||
tmp_env.__control_word |= FE_ALL_EXCEPT; /* set cw to non-stop */
|
||||
__asm__ volatile ("fldenv %0;" : : "m" (tmp_env)); /* install the copy */
|
||||
return 0;
|
||||
}
|
Reference in New Issue
Block a user