Piotr Caban : msvcr120: Add __ExceptionPtrToBool implementation.

Alexandre Julliard julliard at wine.codeweavers.com
Wed Apr 27 10:45:42 CDT 2016


Module: wine
Branch: master
Commit: 4f8aafbe2891d16aeb1aa7916405b5efb862d7af
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=4f8aafbe2891d16aeb1aa7916405b5efb862d7af

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>

---

 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 76cafd9..ddab904 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 ad9749a..7efcb20 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 fb3e4a3..6bfc0b7 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 17292d5..b470478 100644
--- a/dlls/msvcrt/cpp.c
+++ b/dlls/msvcrt/cpp.c
@@ -1500,6 +1500,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