8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-24 04:03:03 +01:00

Restore previous code for Win64 platform as it missed __control87_2() routine.

This commit is contained in:
hvlad 2013-03-10 08:35:04 +00:00
parent 863d4b6e4d
commit b811b82d35

View File

@ -83,8 +83,12 @@ public:
{
_clearfp(); // always call _clearfp() before setting control word
#ifdef AMD64
_controlfp(_CW_DEFAULT, _MCW_EM);
#else
Mask cw;
__control87_2(_CW_DEFAULT, _MCW_EM, &cw, NULL);
#endif
}
private:
@ -98,15 +102,23 @@ private:
static void getCurrentMask(Mask& m) throw()
{
#ifdef AMD64
m = _controlfp(0, 0);
#else
__control87_2(0, 0, &m, NULL);
#endif
}
void restoreMask() throw()
{
_clearfp(); // always call _clearfp() before setting control word
#ifdef AMD64
_controlfp(savedMask, _MCW_EM); // restore saved
#else
Mask cw;
__control87_2(savedMask, _MCW_EM, &cw, NULL); // restore saved
#endif
}
#elif defined(HAVE_FEGETENV)