Module: wine Branch: stable Commit: 3a5960ce6b34e2ff106f8d2b78ab54d95018bf6b URL: http://source.winehq.org/git/wine.git/?a=commit;h=3a5960ce6b34e2ff106f8d2b78...
Author: Piotr Caban piotr@codeweavers.com Date: Thu Jan 14 15:55:16 2016 +0100
msvcp100: Add numeric_limits<*>::lowest implementation.
Signed-off-by: Piotr Caban piotr@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org (cherry picked from commit 2633496a7473baf4f0ae2f6a812f8a5e39e094ec) Signed-off-by: Michael Stefaniuc mstefani@winehq.org
---
dlls/msvcp100/msvcp100.spec | 32 +++++++++++++++--------------- dlls/msvcp90/math.c | 48 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 64 insertions(+), 16 deletions(-)
diff --git a/dlls/msvcp100/msvcp100.spec b/dlls/msvcp100/msvcp100.spec index d2b75f4..357ca83 100644 --- a/dlls/msvcp100/msvcp100.spec +++ b/dlls/msvcp100/msvcp100.spec @@ -2113,22 +2113,22 @@ @ cdecl -arch=win64 ?length@?$codecvt@GDH@std@@QEBAHAEBHPEBD1_K@Z(ptr ptr str str long) codecvt_wchar_length @ thiscall -arch=win32 ?length@?$codecvt@_WDH@std@@QBEHABHPBD1I@Z(ptr ptr str str long) codecvt_wchar_length @ cdecl -arch=win64 ?length@?$codecvt@_WDH@std@@QEBAHAEBHPEBD1_K@Z(ptr ptr str str long) codecvt_wchar_length -@ stub ?lowest@?$numeric_limits@C@std@@SACXZ -@ stub ?lowest@?$numeric_limits@D@std@@SADXZ -@ stub ?lowest@?$numeric_limits@E@std@@SAEXZ -@ stub ?lowest@?$numeric_limits@F@std@@SAFXZ -@ stub ?lowest@?$numeric_limits@G@std@@SAGXZ -@ stub ?lowest@?$numeric_limits@H@std@@SAHXZ -@ stub ?lowest@?$numeric_limits@I@std@@SAIXZ -@ stub ?lowest@?$numeric_limits@J@std@@SAJXZ -@ stub ?lowest@?$numeric_limits@K@std@@SAKXZ -@ stub ?lowest@?$numeric_limits@M@std@@SAMXZ -@ stub ?lowest@?$numeric_limits@N@std@@SANXZ -@ stub ?lowest@?$numeric_limits@O@std@@SAOXZ -@ stub ?lowest@?$numeric_limits@_J@std@@SA_JXZ -@ stub ?lowest@?$numeric_limits@_K@std@@SA_KXZ -@ stub ?lowest@?$numeric_limits@_N@std@@SA_NXZ -@ stub ?lowest@?$numeric_limits@_W@std@@SA_WXZ +@ cdecl ?lowest@?$numeric_limits@C@std@@SACXZ() std_numeric_limits_signed_char_lowest +@ cdecl ?lowest@?$numeric_limits@D@std@@SADXZ() std_numeric_limits_char_lowest +@ cdecl ?lowest@?$numeric_limits@E@std@@SAEXZ() std_numeric_limits_unsigned_char_lowest +@ cdecl ?lowest@?$numeric_limits@F@std@@SAFXZ() std_numeric_limits_short_lowest +@ cdecl ?lowest@?$numeric_limits@G@std@@SAGXZ() std_numeric_limits_unsigned_short_lowest +@ cdecl ?lowest@?$numeric_limits@H@std@@SAHXZ() std_numeric_limits_int_lowest +@ cdecl ?lowest@?$numeric_limits@I@std@@SAIXZ() std_numeric_limits_unsigned_int_lowest +@ cdecl ?lowest@?$numeric_limits@J@std@@SAJXZ() std_numeric_limits_long_lowest +@ cdecl ?lowest@?$numeric_limits@K@std@@SAKXZ() std_numeric_limits_unsigned_long_lowest +@ cdecl ?lowest@?$numeric_limits@M@std@@SAMXZ() std_numeric_limits_float_lowest +@ cdecl ?lowest@?$numeric_limits@N@std@@SANXZ() std_numeric_limits_double_lowest +@ cdecl ?lowest@?$numeric_limits@O@std@@SAOXZ() std_numeric_limits_long_double_lowest +@ cdecl -ret64 ?lowest@?$numeric_limits@_J@std@@SA_JXZ() std_numeric_limits_int64_lowest +@ cdecl -ret64 ?lowest@?$numeric_limits@_K@std@@SA_KXZ() std_numeric_limits_unsigned_int64_lowest +@ cdecl ?lowest@?$numeric_limits@_N@std@@SA_NXZ() std_numeric_limits_bool_lowest +@ cdecl ?lowest@?$numeric_limits@_W@std@@SA_WXZ() std_numeric_limits_wchar_t_lowest @ cdecl ?max@?$numeric_limits@C@std@@SACXZ() std_numeric_limits_signed_char_max @ cdecl ?max@?$numeric_limits@D@std@@SADXZ() std_numeric_limits_char_max @ cdecl ?max@?$numeric_limits@E@std@@SAEXZ() std_numeric_limits_unsigned_char_max diff --git a/dlls/msvcp90/math.c b/dlls/msvcp90/math.c index 6c3a33a..99f6727 100644 --- a/dlls/msvcp90/math.c +++ b/dlls/msvcp90/math.c @@ -659,6 +659,54 @@ BOOLEAN __cdecl std_numeric_limits_bool_min(void) { return FALSE; } /* ?min@?$numeric_limits@_W@std@@SA_WXZ -> public: static wchar_t __cdecl std::numeric_limits<wchar_t>::min(void) */ WCHAR __cdecl std_numeric_limits_wchar_t_min(void) { return 0; }
+/* ?lowest@?$numeric_limits@C@std@@SACXZ */ +signed char __cdecl std_numeric_limits_signed_char_lowest(void) { return SCHAR_MIN; } + +/* ?lowest@?$numeric_limits@D@std@@SADXZ */ +char __cdecl std_numeric_limits_char_lowest(void) { return CHAR_MIN; } + +/* ?lowest@?$numeric_limits@E@std@@SAEXZ */ +unsigned char __cdecl std_numeric_limits_unsigned_char_lowest(void) { return 0; } + +/* ?lowest@?$numeric_limits@F@std@@SAFXZ */ +short __cdecl std_numeric_limits_short_lowest(void) { return SHRT_MIN; } + +/* ?lowest@?$numeric_limits@G@std@@SAGXZ */ +unsigned short __cdecl std_numeric_limits_unsigned_short_lowest(void) { return 0; } + +/* ?lowest@?$numeric_limits@H@std@@SAHXZ */ +int __cdecl std_numeric_limits_int_lowest(void) { return INT_MIN; } + +/* ?lowest@?$numeric_limits@I@std@@SAIXZ */ +unsigned int __cdecl std_numeric_limits_unsigned_int_lowest(void) { return 0; } + +/* ?lowest@?$numeric_limits@J@std@@SAJXZ */ +LONG __cdecl std_numeric_limits_long_lowest(void) { return LONG_MIN; } + +/* ?lowest@?$numeric_limits@K@std@@SAKXZ */ +ULONG __cdecl std_numeric_limits_unsigned_long_lowest(void) { return 0; } + +/* ?lowest@?$numeric_limits@M@std@@SAMXZ */ +float __cdecl std_numeric_limits_float_lowest(void) { return -FLT_MAX; } + +/* ?lowest@?$numeric_limits@N@std@@SANXZ */ +double __cdecl std_numeric_limits_double_lowest(void) { return -DBL_MAX; } + +/* ?lowest@?$numeric_limits@O@std@@SAOXZ */ +LDOUBLE __cdecl std_numeric_limits_long_double_lowest(void) { return -LDBL_MAX; } + +/* ?lowest@?$numeric_limits@_J@std@@SA_JXZ */ +__int64 __cdecl std_numeric_limits_int64_lowest(void) { return I64_MIN; } + +/* ?lowest@?$numeric_limits@_K@std@@SA_KXZ */ +unsigned __int64 __cdecl std_numeric_limits_unsigned_int64_lowest(void) { return 0; } + +/* ?lowest@?$numeric_limits@_N@std@@SA_NXZ */ +BOOLEAN __cdecl std_numeric_limits_bool_lowest(void) { return FALSE; } + +/* ?lowest@?$numeric_limits@_W@std@@SA_WXZ */ +WCHAR __cdecl std_numeric_limits_wchar_t_lowest(void) { return 0; } + /* ?quiet_NaN@?$numeric_limits@C@std@@SACXZ -> public: static signed char __cdecl std::numeric_limits<signed char>::quiet_NaN(void) */ signed char __cdecl std_numeric_limits_signed_char_quiet_NaN(void) { return 0; }