mirror of
https://github.com/reactos/reactos.git
synced 2025-05-21 01:54:21 +00:00
[CRT]
Don't use _control87 on ARM builds svn path=/trunk/; revision=67728
This commit is contained in:
parent
7b2824f7ee
commit
2f20d0b140
2 changed files with 18 additions and 5 deletions
|
@ -407,11 +407,14 @@ _FUNCTION_ {
|
||||||
/* ReactOS: don't inline float processing (kernel/freeldr don't like that! */
|
/* ReactOS: don't inline float processing (kernel/freeldr don't like that! */
|
||||||
_internal_handle_float(negative, exp, suppress, d, l_prefix || L_prefix, &ap);
|
_internal_handle_float(negative, exp, suppress, d, l_prefix || L_prefix, &ap);
|
||||||
st = 1;
|
st = 1;
|
||||||
|
#else
|
||||||
|
#ifdef _M_ARM
|
||||||
|
DbgBreakPoint();
|
||||||
#else
|
#else
|
||||||
fpcontrol = _control87(0, 0);
|
fpcontrol = _control87(0, 0);
|
||||||
_control87(MSVCRT__EM_DENORMAL|MSVCRT__EM_INVALID|MSVCRT__EM_ZERODIVIDE
|
_control87(MSVCRT__EM_DENORMAL|MSVCRT__EM_INVALID|MSVCRT__EM_ZERODIVIDE
|
||||||
|MSVCRT__EM_OVERFLOW|MSVCRT__EM_UNDERFLOW|MSVCRT__EM_INEXACT, 0xffffffff);
|
|MSVCRT__EM_OVERFLOW|MSVCRT__EM_UNDERFLOW|MSVCRT__EM_INEXACT, 0xffffffff);
|
||||||
|
#endif
|
||||||
negexp = (exp < 0);
|
negexp = (exp < 0);
|
||||||
if(negexp)
|
if(negexp)
|
||||||
exp = -exp;
|
exp = -exp;
|
||||||
|
@ -423,9 +426,11 @@ _FUNCTION_ {
|
||||||
expcnt = expcnt*expcnt;
|
expcnt = expcnt*expcnt;
|
||||||
}
|
}
|
||||||
cur = (negexp ? d/cur : d*cur);
|
cur = (negexp ? d/cur : d*cur);
|
||||||
|
#ifdef _M_ARM
|
||||||
|
DbgBreakPoint();
|
||||||
|
#else
|
||||||
_control87(fpcontrol, 0xffffffff);
|
_control87(fpcontrol, 0xffffffff);
|
||||||
|
#endif
|
||||||
st = 1;
|
st = 1;
|
||||||
if (!suppress) {
|
if (!suppress) {
|
||||||
if (L_prefix) _SET_NUMBER_(double);
|
if (L_prefix) _SET_NUMBER_(double);
|
||||||
|
|
|
@ -75,11 +75,14 @@ _internal_handle_float(
|
||||||
long double cur = 1, expcnt = 10;
|
long double cur = 1, expcnt = 10;
|
||||||
unsigned fpcontrol;
|
unsigned fpcontrol;
|
||||||
BOOL negexp;
|
BOOL negexp;
|
||||||
|
#ifdef _M_ARM
|
||||||
|
DbgBreakPoint();
|
||||||
|
fpcontrol = _controlfp(0, 0);
|
||||||
|
#else
|
||||||
fpcontrol = _control87(0, 0);
|
fpcontrol = _control87(0, 0);
|
||||||
_control87(_EM_DENORMAL|_EM_INVALID|_EM_ZERODIVIDE
|
_control87(_EM_DENORMAL|_EM_INVALID|_EM_ZERODIVIDE
|
||||||
|_EM_OVERFLOW|_EM_UNDERFLOW|_EM_INEXACT, 0xffffffff);
|
|_EM_OVERFLOW|_EM_UNDERFLOW|_EM_INEXACT, 0xffffffff);
|
||||||
|
#endif
|
||||||
negexp = (exp < 0);
|
negexp = (exp < 0);
|
||||||
if(negexp)
|
if(negexp)
|
||||||
exp = -exp;
|
exp = -exp;
|
||||||
|
@ -92,7 +95,12 @@ _internal_handle_float(
|
||||||
}
|
}
|
||||||
cur = (negexp ? d/cur : d*cur);
|
cur = (negexp ? d/cur : d*cur);
|
||||||
|
|
||||||
|
#ifdef _M_ARM
|
||||||
|
DbgBreakPoint();
|
||||||
|
_controlfp(fpcontrol, 0xffffffff);
|
||||||
|
#else
|
||||||
_control87(fpcontrol, 0xffffffff);
|
_control87(fpcontrol, 0xffffffff);
|
||||||
|
#endif
|
||||||
|
|
||||||
if (!suppress) {
|
if (!suppress) {
|
||||||
if (l_or_L_prefix) _SET_NUMBER_(double);
|
if (l_or_L_prefix) _SET_NUMBER_(double);
|
||||||
|
|
Loading…
Reference in a new issue