Piotr Caban : msvcr120: Add __ExceptionPtrToBool implementation.

Alexandre Julliard julliard at winehq.org
Mon Aug 22 07:32:37 CDT 2016


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

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Tue Apr 26 20:39:41 2016 +0200

msvcr120: Add __ExceptionPtrToBool implementation.

Signed-off-by: Piotr Caban <piotr at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
(cherry picked from commit 4f8aafbe2891d16aeb1aa7916405b5efb862d7af)
Signed-off-by: Michael Stefaniuc <mstefani at winehq.org>

---

 dlls/msvcr110/msvcr110.spec         | 4 ++--
 dlls/msvcr120/msvcr120.spec         | 4 ++--
 dlls/msvcr120_app/msvcr120_app.spec | 4 ++--
 dlls/msvcrt/cpp.c                   | 9 +++++++++
 4 files changed, 15 insertions(+), 6 deletions(-)

diff --git a/dlls/msvcr110/msvcr110.spec b/dlls/msvcr110/msvcr110.spec
index aaf67ec..a0e9a31 100644
--- a/dlls/msvcr110/msvcr110.spec
+++ b/dlls/msvcr110/msvcr110.spec
@@ -704,8 +704,8 @@
 @ cdecl -arch=win64 ?__ExceptionPtrRethrow@@YAXPEBX at Z(ptr) __ExceptionPtrRethrow
 @ stub -arch=win32 ?__ExceptionPtrSwap@@YAXPAX0 at Z
 @ stub -arch=win64 ?__ExceptionPtrSwap@@YAXPEAX0 at Z
-@ stub -arch=win32 ?__ExceptionPtrToBool@@YA_NPBX at Z
-@ stub -arch=win64 ?__ExceptionPtrToBool@@YA_NPEBX at Z
+@ cdecl -arch=win32 ?__ExceptionPtrToBool@@YA_NPBX at Z(ptr) __ExceptionPtrToBool
+@ cdecl -arch=win64 ?__ExceptionPtrToBool@@YA_NPEBX at Z(ptr) __ExceptionPtrToBool
 @ cdecl __uncaught_exception() MSVCRT___uncaught_exception
 @ stub ?_inconsistency@@YAXXZ
 @ cdecl -arch=win32 ?_invalid_parameter@@YAXPBG00II at Z(wstr wstr wstr long long) MSVCRT__invalid_parameter
diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec
index 8159f0a..129ba27 100644
--- a/dlls/msvcr120/msvcr120.spec
+++ b/dlls/msvcr120/msvcr120.spec
@@ -686,8 +686,8 @@
 @ cdecl -arch=win64 ?__ExceptionPtrRethrow@@YAXPEBX at Z(ptr) __ExceptionPtrRethrow
 @ stub -arch=win32 ?__ExceptionPtrSwap@@YAXPAX0 at Z
 @ stub -arch=win64 ?__ExceptionPtrSwap@@YAXPEAX0 at Z
-@ stub -arch=win32 ?__ExceptionPtrToBool@@YA_NPBX at Z
-@ stub -arch=win64 ?__ExceptionPtrToBool@@YA_NPEBX at Z
+@ cdecl -arch=win32 ?__ExceptionPtrToBool@@YA_NPBX at Z(ptr) __ExceptionPtrToBool
+@ cdecl -arch=win64 ?__ExceptionPtrToBool@@YA_NPEBX at Z(ptr) __ExceptionPtrToBool
 @ cdecl __uncaught_exception() MSVCRT___uncaught_exception
 @ stub ?_inconsistency@@YAXXZ
 @ cdecl -arch=win32 ?_invalid_parameter@@YAXPBG00II at Z(wstr wstr wstr long long) MSVCRT__invalid_parameter
diff --git a/dlls/msvcr120_app/msvcr120_app.spec b/dlls/msvcr120_app/msvcr120_app.spec
index 5087e9c..8aeaec8 100644
--- a/dlls/msvcr120_app/msvcr120_app.spec
+++ b/dlls/msvcr120_app/msvcr120_app.spec
@@ -682,8 +682,8 @@
 @ cdecl -arch=win64 ?__ExceptionPtrRethrow@@YAXPEBX at Z(ptr) msvcr120.?__ExceptionPtrRethrow@@YAXPEBX at Z
 @ stub -arch=win32 ?__ExceptionPtrSwap@@YAXPAX0 at Z
 @ stub -arch=win64 ?__ExceptionPtrSwap@@YAXPEAX0 at Z
-@ stub -arch=win32 ?__ExceptionPtrToBool@@YA_NPBX at Z
-@ stub -arch=win64 ?__ExceptionPtrToBool@@YA_NPEBX at Z
+@ cdecl -arch=win32 ?__ExceptionPtrToBool@@YA_NPBX at Z(ptr) msvcr120.?__ExceptionPtrToBool@@YA_NPBX at Z
+@ cdecl -arch=win64 ?__ExceptionPtrToBool@@YA_NPEBX at Z(ptr) msvcr120.?__ExceptionPtrToBool@@YA_NPEBX at Z
 @ cdecl __uncaught_exception() msvcr120.__uncaught_exception
 @ stub ?_inconsistency@@YAXXZ
 @ cdecl -arch=win32 ?_invalid_parameter@@YAXPBG00II at Z(wstr wstr wstr long long) msvcr120.?_invalid_parameter@@YAXPBG00II at Z
diff --git a/dlls/msvcrt/cpp.c b/dlls/msvcrt/cpp.c
index 7cffa00..0e21415 100644
--- a/dlls/msvcrt/cpp.c
+++ b/dlls/msvcrt/cpp.c
@@ -1487,6 +1487,15 @@ void __cdecl __ExceptionPtrCurrentException(exception_ptr *ep)
 }
 #endif
 
+/*********************************************************************
+ * ?__ExceptionPtrToBool@@YA_NPBX at Z
+ * ?__ExceptionPtrToBool@@YA_NPEBX at Z
+ */
+MSVCRT_bool __cdecl __ExceptionPtrToBool(exception_ptr *ep)
+{
+    return !!ep->rec;
+}
+
 void* __cdecl __AdjustPointer(void *obj, const this_ptr_offsets *off)
 {
     return get_this_pointer(off, obj);




More information about the wine-cvs mailing list