From: Piotr Caban Subject: [PATCH 2/3] msvcrt: Add __ExceptionPtrCompare implementation Message-Id: <38e51687-2a05-7034-9677-8ea8acffc412@codeweavers.com> Date: Fri, 24 Mar 2017 12:45:14 +0100 Signed-off-by: Piotr Caban --- dlls/msvcp140/msvcp140.spec | 4 ++-- dlls/msvcr100/msvcr100.spec | 4 ++-- dlls/msvcr110/msvcr110.spec | 4 ++-- dlls/msvcr120/msvcr120.spec | 4 ++-- dlls/msvcr120_app/msvcr120_app.spec | 4 ++-- dlls/msvcrt/cpp.c | 5 +++++ 6 files changed, 15 insertions(+), 10 deletions(-) diff --git a/dlls/msvcp140/msvcp140.spec b/dlls/msvcp140/msvcp140.spec index a587c66..ecf2b26 100644 --- a/dlls/msvcp140/msvcp140.spec +++ b/dlls/msvcp140/msvcp140.spec @@ -1691,8 +1691,8 @@ @ cdecl -arch=win64 ?_Xruntime_error@std@@YAXPEBD@Z(str) _Xruntime_error @ stub -arch=win32 ?__ExceptionPtrAssign@@YAXPAXPBX@Z @ stub -arch=win64 ?__ExceptionPtrAssign@@YAXPEAXPEBX@Z -@ stub -arch=win32 ?__ExceptionPtrCompare@@YA_NPBX0@Z -@ stub -arch=win64 ?__ExceptionPtrCompare@@YA_NPEBX0@Z +@ cdecl -arch=win32 ?__ExceptionPtrCompare@@YA_NPBX0@Z(ptr ptr) msvcr120.?__ExceptionPtrCompare@@YA_NPBX0@Z +@ cdecl -arch=win64 ?__ExceptionPtrCompare@@YA_NPEBX0@Z(ptr ptr) msvcr120.?__ExceptionPtrCompare@@YA_NPEBX0@Z @ cdecl -arch=win32 ?__ExceptionPtrCopy@@YAXPAXPBX@Z(ptr ptr) msvcr120.?__ExceptionPtrCopy@@YAXPAXPBX@Z @ cdecl -arch=win64 ?__ExceptionPtrCopy@@YAXPEAXPEBX@Z(ptr ptr) msvcr120.?__ExceptionPtrCopy@@YAXPEAXPEBX@Z @ cdecl -arch=win32 ?__ExceptionPtrCopyException@@YAXPAXPBX1@Z(ptr ptr ptr) msvcr120.?__ExceptionPtrCopyException@@YAXPAXPBX1@Z diff --git a/dlls/msvcr100/msvcr100.spec b/dlls/msvcr100/msvcr100.spec index 06dd749..4b54ab1 100644 --- a/dlls/msvcr100/msvcr100.spec +++ b/dlls/msvcr100/msvcr100.spec @@ -410,8 +410,8 @@ @ cdecl ?_Value@_SpinCount@details@Concurrency@@SAIXZ() SpinCount__Value @ stub -arch=win32 ?__ExceptionPtrAssign@@YAXPAXPBX@Z @ stub -arch=win64 ?__ExceptionPtrAssign@@YAXPEAXPEBX@Z -@ stub -arch=win32 ?__ExceptionPtrCompare@@YA_NPBX0@Z -@ stub -arch=win64 ?__ExceptionPtrCompare@@YA_NPEBX0@Z +@ cdecl -arch=win32 ?__ExceptionPtrCompare@@YA_NPBX0@Z(ptr ptr) __ExceptionPtrCompare +@ cdecl -arch=win64 ?__ExceptionPtrCompare@@YA_NPEBX0@Z(ptr ptr) __ExceptionPtrCompare @ cdecl -arch=win32 ?__ExceptionPtrCopy@@YAXPAXPBX@Z(ptr ptr) __ExceptionPtrCopy @ cdecl -arch=win64 ?__ExceptionPtrCopy@@YAXPEAXPEBX@Z(ptr ptr) __ExceptionPtrCopy @ cdecl -arch=win32 ?__ExceptionPtrCopyException@@YAXPAXPBX1@Z(ptr ptr ptr) __ExceptionPtrCopyException diff --git a/dlls/msvcr110/msvcr110.spec b/dlls/msvcr110/msvcr110.spec index b9826cf..9526502 100644 --- a/dlls/msvcr110/msvcr110.spec +++ b/dlls/msvcr110/msvcr110.spec @@ -688,8 +688,8 @@ @ stub ?_Yield@_Context@details@Concurrency@@SAXXZ @ stub -arch=win32 ?__ExceptionPtrAssign@@YAXPAXPBX@Z @ stub -arch=win64 ?__ExceptionPtrAssign@@YAXPEAXPEBX@Z -@ stub -arch=win32 ?__ExceptionPtrCompare@@YA_NPBX0@Z -@ stub -arch=win64 ?__ExceptionPtrCompare@@YA_NPEBX0@Z +@ cdecl -arch=win32 ?__ExceptionPtrCompare@@YA_NPBX0@Z(ptr ptr) __ExceptionPtrCompare +@ cdecl -arch=win64 ?__ExceptionPtrCompare@@YA_NPEBX0@Z(ptr ptr) __ExceptionPtrCompare @ cdecl -arch=win32 ?__ExceptionPtrCopy@@YAXPAXPBX@Z(ptr ptr) __ExceptionPtrCopy @ cdecl -arch=win64 ?__ExceptionPtrCopy@@YAXPEAXPEBX@Z(ptr ptr) __ExceptionPtrCopy @ cdecl -arch=win32 ?__ExceptionPtrCopyException@@YAXPAXPBX1@Z(ptr ptr ptr) __ExceptionPtrCopyException diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec index d8b1e2a..4f9fbec 100644 --- a/dlls/msvcr120/msvcr120.spec +++ b/dlls/msvcr120/msvcr120.spec @@ -670,8 +670,8 @@ @ stub ?_Yield@_Context@details@Concurrency@@SAXXZ @ stub -arch=win32 ?__ExceptionPtrAssign@@YAXPAXPBX@Z @ stub -arch=win64 ?__ExceptionPtrAssign@@YAXPEAXPEBX@Z -@ stub -arch=win32 ?__ExceptionPtrCompare@@YA_NPBX0@Z -@ stub -arch=win64 ?__ExceptionPtrCompare@@YA_NPEBX0@Z +@ cdecl -arch=win32 ?__ExceptionPtrCompare@@YA_NPBX0@Z(ptr ptr) __ExceptionPtrCompare +@ cdecl -arch=win64 ?__ExceptionPtrCompare@@YA_NPEBX0@Z(ptr ptr) __ExceptionPtrCompare @ cdecl -arch=win32 ?__ExceptionPtrCopy@@YAXPAXPBX@Z(ptr ptr) __ExceptionPtrCopy @ cdecl -arch=win64 ?__ExceptionPtrCopy@@YAXPEAXPEBX@Z(ptr ptr) __ExceptionPtrCopy @ cdecl -arch=win32 ?__ExceptionPtrCopyException@@YAXPAXPBX1@Z(ptr ptr ptr) __ExceptionPtrCopyException diff --git a/dlls/msvcr120_app/msvcr120_app.spec b/dlls/msvcr120_app/msvcr120_app.spec index b01f469..313d37c 100644 --- a/dlls/msvcr120_app/msvcr120_app.spec +++ b/dlls/msvcr120_app/msvcr120_app.spec @@ -666,8 +666,8 @@ @ stub ?_Yield@_Context@details@Concurrency@@SAXXZ @ stub -arch=win32 ?__ExceptionPtrAssign@@YAXPAXPBX@Z @ stub -arch=win64 ?__ExceptionPtrAssign@@YAXPEAXPEBX@Z -@ stub -arch=win32 ?__ExceptionPtrCompare@@YA_NPBX0@Z -@ stub -arch=win64 ?__ExceptionPtrCompare@@YA_NPEBX0@Z +@ cdecl -arch=win32 ?__ExceptionPtrCompare@@YA_NPBX0@Z(ptr ptr) msvcr120.?__ExceptionPtrCompare@@YA_NPBX0@Z +@ cdecl -arch=win64 ?__ExceptionPtrCompare@@YA_NPEBX0@Z(ptr ptr) msvcr120.?__ExceptionPtrCompare@@YA_NPEBX0@Z @ cdecl -arch=win32 ?__ExceptionPtrCopy@@YAXPAXPBX@Z(ptr ptr) msvcr120.?__ExceptionPtrCopy@@YAXPAXPBX@Z @ cdecl -arch=win64 ?__ExceptionPtrCopy@@YAXPEAXPEBX@Z(ptr ptr) msvcr120.?__ExceptionPtrCopy@@YAXPEAXPEBX@Z @ cdecl -arch=win32 ?__ExceptionPtrCopyException@@YAXPAXPBX1@Z(ptr ptr ptr) msvcr120.?__ExceptionPtrCopyException@@YAXPAXPBX1@Z diff --git a/dlls/msvcrt/cpp.c b/dlls/msvcrt/cpp.c index e86df53..b5e21d9 100644 --- a/dlls/msvcrt/cpp.c +++ b/dlls/msvcrt/cpp.c @@ -1671,6 +1671,11 @@ void __cdecl __ExceptionPtrCopyException(exception_ptr *ep, } #endif +MSVCRT_bool __cdecl __ExceptionPtrCompare(const exception_ptr *ep1, const exception_ptr *ep2) +{ + return ep1->rec == ep2->rec; +} + void* __cdecl __AdjustPointer(void *obj, const this_ptr_offsets *off) { return get_this_pointer(off, obj);