Piotr Caban : msvcp100: Add numeric_limits<*>::lowest implementation.

Alexandre Julliard julliard at winehq.org
Fri Oct 7 15:09:14 CDT 2016


Module: wine
Branch: stable
Commit: 3a5960ce6b34e2ff106f8d2b78ab54d95018bf6b
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=3a5960ce6b34e2ff106f8d2b78ab54d95018bf6b

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Thu Jan 14 15:55:16 2016 +0100

msvcp100: Add numeric_limits<*>::lowest implementation.

Signed-off-by: Piotr Caban <piotr at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
(cherry picked from commit 2633496a7473baf4f0ae2f6a812f8a5e39e094ec)
Signed-off-by: Michael Stefaniuc <mstefani at 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 at GDH@std@@QEBAHAEBHPEBD1_K at Z(ptr ptr str str long) codecvt_wchar_length
 @ thiscall -arch=win32 ?length@?$codecvt at _WDH@std@@QBEHABHPBD1I at Z(ptr ptr str str long) codecvt_wchar_length
 @ cdecl -arch=win64 ?length@?$codecvt at _WDH@std@@QEBAHAEBHPEBD1_K at Z(ptr ptr str str long) codecvt_wchar_length
-@ stub ?lowest@?$numeric_limits at C@std@@SACXZ
-@ stub ?lowest@?$numeric_limits at D@std@@SADXZ
-@ stub ?lowest@?$numeric_limits at E@std@@SAEXZ
-@ stub ?lowest@?$numeric_limits at F@std@@SAFXZ
-@ stub ?lowest@?$numeric_limits at G@std@@SAGXZ
-@ stub ?lowest@?$numeric_limits at H@std@@SAHXZ
-@ stub ?lowest@?$numeric_limits at I@std@@SAIXZ
-@ stub ?lowest@?$numeric_limits at J@std@@SAJXZ
-@ stub ?lowest@?$numeric_limits at K@std@@SAKXZ
-@ stub ?lowest@?$numeric_limits at M@std@@SAMXZ
-@ stub ?lowest@?$numeric_limits at N@std@@SANXZ
-@ stub ?lowest@?$numeric_limits at O@std@@SAOXZ
-@ stub ?lowest@?$numeric_limits at _J@std@@SA_JXZ
-@ stub ?lowest@?$numeric_limits at _K@std@@SA_KXZ
-@ stub ?lowest@?$numeric_limits at _N@std@@SA_NXZ
-@ stub ?lowest@?$numeric_limits at _W@std@@SA_WXZ
+@ cdecl ?lowest@?$numeric_limits at C@std@@SACXZ() std_numeric_limits_signed_char_lowest
+@ cdecl ?lowest@?$numeric_limits at D@std@@SADXZ() std_numeric_limits_char_lowest
+@ cdecl ?lowest@?$numeric_limits at E@std@@SAEXZ() std_numeric_limits_unsigned_char_lowest
+@ cdecl ?lowest@?$numeric_limits at F@std@@SAFXZ() std_numeric_limits_short_lowest
+@ cdecl ?lowest@?$numeric_limits at G@std@@SAGXZ() std_numeric_limits_unsigned_short_lowest
+@ cdecl ?lowest@?$numeric_limits at H@std@@SAHXZ() std_numeric_limits_int_lowest
+@ cdecl ?lowest@?$numeric_limits at I@std@@SAIXZ() std_numeric_limits_unsigned_int_lowest
+@ cdecl ?lowest@?$numeric_limits at J@std@@SAJXZ() std_numeric_limits_long_lowest
+@ cdecl ?lowest@?$numeric_limits at K@std@@SAKXZ() std_numeric_limits_unsigned_long_lowest
+@ cdecl ?lowest@?$numeric_limits at M@std@@SAMXZ() std_numeric_limits_float_lowest
+@ cdecl ?lowest@?$numeric_limits at N@std@@SANXZ() std_numeric_limits_double_lowest
+@ cdecl ?lowest@?$numeric_limits at O@std@@SAOXZ() std_numeric_limits_long_double_lowest
+@ cdecl -ret64 ?lowest@?$numeric_limits at _J@std@@SA_JXZ() std_numeric_limits_int64_lowest
+@ cdecl -ret64 ?lowest@?$numeric_limits at _K@std@@SA_KXZ() std_numeric_limits_unsigned_int64_lowest
+@ cdecl ?lowest@?$numeric_limits at _N@std@@SA_NXZ() std_numeric_limits_bool_lowest
+@ cdecl ?lowest@?$numeric_limits at _W@std@@SA_WXZ() std_numeric_limits_wchar_t_lowest
 @ cdecl ?max@?$numeric_limits at C@std@@SACXZ() std_numeric_limits_signed_char_max
 @ cdecl ?max@?$numeric_limits at D@std@@SADXZ() std_numeric_limits_char_max
 @ cdecl ?max@?$numeric_limits at 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 at _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 at C@std@@SACXZ */
+signed char __cdecl std_numeric_limits_signed_char_lowest(void) { return SCHAR_MIN; }
+
+/* ?lowest@?$numeric_limits at D@std@@SADXZ */
+char __cdecl std_numeric_limits_char_lowest(void) { return CHAR_MIN; }
+
+/* ?lowest@?$numeric_limits at E@std@@SAEXZ */
+unsigned char __cdecl std_numeric_limits_unsigned_char_lowest(void) { return 0; }
+
+/* ?lowest@?$numeric_limits at F@std@@SAFXZ */
+short __cdecl std_numeric_limits_short_lowest(void) { return SHRT_MIN; }
+
+/* ?lowest@?$numeric_limits at G@std@@SAGXZ */
+unsigned short __cdecl std_numeric_limits_unsigned_short_lowest(void) { return 0; }
+
+/* ?lowest@?$numeric_limits at H@std@@SAHXZ */
+int __cdecl std_numeric_limits_int_lowest(void) { return INT_MIN; }
+
+/* ?lowest@?$numeric_limits at I@std@@SAIXZ */
+unsigned int __cdecl std_numeric_limits_unsigned_int_lowest(void) { return 0; }
+
+/* ?lowest@?$numeric_limits at J@std@@SAJXZ */
+LONG __cdecl std_numeric_limits_long_lowest(void) { return LONG_MIN; }
+
+/* ?lowest@?$numeric_limits at K@std@@SAKXZ */
+ULONG __cdecl std_numeric_limits_unsigned_long_lowest(void) { return 0; }
+
+/* ?lowest@?$numeric_limits at M@std@@SAMXZ */
+float __cdecl std_numeric_limits_float_lowest(void) { return -FLT_MAX; }
+
+/* ?lowest@?$numeric_limits at N@std@@SANXZ */
+double __cdecl std_numeric_limits_double_lowest(void) { return -DBL_MAX; }
+
+/* ?lowest@?$numeric_limits at O@std@@SAOXZ */
+LDOUBLE __cdecl std_numeric_limits_long_double_lowest(void) { return -LDBL_MAX; }
+
+/* ?lowest@?$numeric_limits at _J@std@@SA_JXZ */
+__int64 __cdecl std_numeric_limits_int64_lowest(void) { return I64_MIN; }
+
+/* ?lowest@?$numeric_limits at _K@std@@SA_KXZ */
+unsigned __int64 __cdecl std_numeric_limits_unsigned_int64_lowest(void) { return 0; }
+
+/* ?lowest@?$numeric_limits at _N@std@@SA_NXZ */
+BOOLEAN __cdecl std_numeric_limits_bool_lowest(void) { return FALSE; }
+
+/* ?lowest@?$numeric_limits at _W@std@@SA_WXZ */
+WCHAR __cdecl std_numeric_limits_wchar_t_lowest(void) { return 0; }
+
 /* ?quiet_NaN@?$numeric_limits at 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; }
 




More information about the wine-cvs mailing list