Daniel Lehman : msvcrt: Add __ExceptionPtrAssign.
Alexandre Julliard
julliard at winehq.org
Tue Jan 2 15:01:24 CST 2018
Module: wine
Branch: stable
Commit: 946bae9bbc01538fb5696286bed026fb45612f67
URL: https://source.winehq.org/git/wine.git/?a=commit;h=946bae9bbc01538fb5696286bed026fb45612f67
Author: Daniel Lehman <dlehman at esri.com>
Date: Tue Apr 4 10:00:31 2017 -0700
msvcrt: Add __ExceptionPtrAssign.
Signed-off-by: Daniel Lehman <dlehman at esri.com>
Signed-off-by: Piotr Caban <piotr at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
(cherry picked from commit 867a27c96429cafaf8858c361625612b7817e951)
Signed-off-by: Michael Stefaniuc <mstefani at winehq.org>
---
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 | 12 ++++++++++++
6 files changed, 22 insertions(+), 10 deletions(-)
diff --git a/dlls/msvcp140/msvcp140.spec b/dlls/msvcp140/msvcp140.spec
index ec8ae3b..a1aa8ec 100644
--- a/dlls/msvcp140/msvcp140.spec
+++ b/dlls/msvcp140/msvcp140.spec
@@ -1689,8 +1689,8 @@
@ stub ?_Xregex_error at std@@YAXW4error_type at regex_constants@1@@Z
@ cdecl -arch=win32 ?_Xruntime_error at std@@YAXPBD at Z(str) _Xruntime_error
@ cdecl -arch=win64 ?_Xruntime_error at std@@YAXPEBD at Z(str) _Xruntime_error
-@ stub -arch=win32 ?__ExceptionPtrAssign@@YAXPAXPBX at Z
-@ stub -arch=win64 ?__ExceptionPtrAssign@@YAXPEAXPEBX at Z
+@ cdecl -arch=win32 ?__ExceptionPtrAssign@@YAXPAXPBX at Z(ptr ptr) msvcr120.?__ExceptionPtrAssign@@YAXPAXPBX at Z
+@ cdecl -arch=win64 ?__ExceptionPtrAssign@@YAXPEAXPEBX at Z(ptr ptr) msvcr120.?__ExceptionPtrAssign@@YAXPEAXPEBX at Z
@ cdecl -arch=win32 ?__ExceptionPtrCompare@@YA_NPBX0 at Z(ptr ptr) msvcr120.?__ExceptionPtrCompare@@YA_NPBX0 at Z
@ cdecl -arch=win64 ?__ExceptionPtrCompare@@YA_NPEBX0 at Z(ptr ptr) msvcr120.?__ExceptionPtrCompare@@YA_NPEBX0 at Z
@ cdecl -arch=win32 ?__ExceptionPtrCopy@@YAXPAXPBX at Z(ptr ptr) msvcr120.?__ExceptionPtrCopy@@YAXPAXPBX at Z
diff --git a/dlls/msvcr100/msvcr100.spec b/dlls/msvcr100/msvcr100.spec
index cc610f6..f45ecf9 100644
--- a/dlls/msvcr100/msvcr100.spec
+++ b/dlls/msvcr100/msvcr100.spec
@@ -408,8 +408,8 @@
@ stub -arch=win32 ?_ValidateWrite@@YAHPAXI at Z
@ stub -arch=win64 ?_ValidateWrite@@YAHPEAXI at Z
@ cdecl ?_Value at _SpinCount@details at Concurrency@@SAIXZ() SpinCount__Value
-@ stub -arch=win32 ?__ExceptionPtrAssign@@YAXPAXPBX at Z
-@ stub -arch=win64 ?__ExceptionPtrAssign@@YAXPEAXPEBX at Z
+@ cdecl -arch=win32 ?__ExceptionPtrAssign@@YAXPAXPBX at Z(ptr ptr) __ExceptionPtrAssign
+@ cdecl -arch=win64 ?__ExceptionPtrAssign@@YAXPEAXPEBX at Z(ptr ptr) __ExceptionPtrAssign
@ cdecl -arch=win32 ?__ExceptionPtrCompare@@YA_NPBX0 at Z(ptr ptr) __ExceptionPtrCompare
@ cdecl -arch=win64 ?__ExceptionPtrCompare@@YA_NPEBX0 at Z(ptr ptr) __ExceptionPtrCompare
@ cdecl -arch=win32 ?__ExceptionPtrCopy@@YAXPAXPBX at Z(ptr ptr) __ExceptionPtrCopy
diff --git a/dlls/msvcr110/msvcr110.spec b/dlls/msvcr110/msvcr110.spec
index c37cfdd..8e44ded 100644
--- a/dlls/msvcr110/msvcr110.spec
+++ b/dlls/msvcr110/msvcr110.spec
@@ -686,8 +686,8 @@
@ stub -arch=win64 ?_ValidateWrite@@YAHPEAXI at Z
@ cdecl ?_Value at _SpinCount@details at Concurrency@@SAIXZ() SpinCount__Value
@ stub ?_Yield at _Context@details at Concurrency@@SAXXZ
-@ stub -arch=win32 ?__ExceptionPtrAssign@@YAXPAXPBX at Z
-@ stub -arch=win64 ?__ExceptionPtrAssign@@YAXPEAXPEBX at Z
+@ cdecl -arch=win32 ?__ExceptionPtrAssign@@YAXPAXPBX at Z(ptr ptr) __ExceptionPtrAssign
+@ cdecl -arch=win64 ?__ExceptionPtrAssign@@YAXPEAXPEBX at Z(ptr ptr) __ExceptionPtrAssign
@ cdecl -arch=win32 ?__ExceptionPtrCompare@@YA_NPBX0 at Z(ptr ptr) __ExceptionPtrCompare
@ cdecl -arch=win64 ?__ExceptionPtrCompare@@YA_NPEBX0 at Z(ptr ptr) __ExceptionPtrCompare
@ cdecl -arch=win32 ?__ExceptionPtrCopy@@YAXPAXPBX at Z(ptr ptr) __ExceptionPtrCopy
diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec
index fc3e06c..18b5b76 100644
--- a/dlls/msvcr120/msvcr120.spec
+++ b/dlls/msvcr120/msvcr120.spec
@@ -668,8 +668,8 @@
@ stub -arch=win64 ?_ValidateWrite@@YAHPEAXI at Z
@ cdecl ?_Value at _SpinCount@details at Concurrency@@SAIXZ() SpinCount__Value
@ stub ?_Yield at _Context@details at Concurrency@@SAXXZ
-@ stub -arch=win32 ?__ExceptionPtrAssign@@YAXPAXPBX at Z
-@ stub -arch=win64 ?__ExceptionPtrAssign@@YAXPEAXPEBX at Z
+@ cdecl -arch=win32 ?__ExceptionPtrAssign@@YAXPAXPBX at Z(ptr ptr) __ExceptionPtrAssign
+@ cdecl -arch=win64 ?__ExceptionPtrAssign@@YAXPEAXPEBX at Z(ptr ptr) __ExceptionPtrAssign
@ cdecl -arch=win32 ?__ExceptionPtrCompare@@YA_NPBX0 at Z(ptr ptr) __ExceptionPtrCompare
@ cdecl -arch=win64 ?__ExceptionPtrCompare@@YA_NPEBX0 at Z(ptr ptr) __ExceptionPtrCompare
@ cdecl -arch=win32 ?__ExceptionPtrCopy@@YAXPAXPBX at Z(ptr ptr) __ExceptionPtrCopy
diff --git a/dlls/msvcr120_app/msvcr120_app.spec b/dlls/msvcr120_app/msvcr120_app.spec
index fde270e..3bc8270 100644
--- a/dlls/msvcr120_app/msvcr120_app.spec
+++ b/dlls/msvcr120_app/msvcr120_app.spec
@@ -664,8 +664,8 @@
@ stub -arch=win64 ?_ValidateWrite@@YAHPEAXI at Z
@ cdecl ?_Value at _SpinCount@details at Concurrency@@SAIXZ() msvcr120.?_Value at _SpinCount@details at Concurrency@@SAIXZ
@ stub ?_Yield at _Context@details at Concurrency@@SAXXZ
-@ stub -arch=win32 ?__ExceptionPtrAssign@@YAXPAXPBX at Z
-@ stub -arch=win64 ?__ExceptionPtrAssign@@YAXPEAXPEBX at Z
+@ cdecl -arch=win32 ?__ExceptionPtrAssign@@YAXPAXPBX at Z(ptr ptr) msvcr120.?__ExceptionPtrAssign@@YAXPAXPBX at Z
+@ cdecl -arch=win64 ?__ExceptionPtrAssign@@YAXPEAXPEBX at Z(ptr ptr) msvcr120.?__ExceptionPtrAssign@@YAXPEAXPEBX at Z
@ cdecl -arch=win32 ?__ExceptionPtrCompare@@YA_NPBX0 at Z(ptr ptr) msvcr120.?__ExceptionPtrCompare@@YA_NPBX0 at Z
@ cdecl -arch=win64 ?__ExceptionPtrCompare@@YA_NPEBX0 at Z(ptr ptr) msvcr120.?__ExceptionPtrCompare@@YA_NPEBX0 at Z
@ cdecl -arch=win32 ?__ExceptionPtrCopy@@YAXPAXPBX at Z(ptr ptr) msvcr120.?__ExceptionPtrCopy@@YAXPAXPBX at Z
diff --git a/dlls/msvcrt/cpp.c b/dlls/msvcrt/cpp.c
index eedd0db..4d0d9b5 100644
--- a/dlls/msvcrt/cpp.c
+++ b/dlls/msvcrt/cpp.c
@@ -1347,6 +1347,18 @@ void __cdecl __ExceptionPtrCopy(exception_ptr *ep, const exception_ptr *copy)
}
/*********************************************************************
+ * ?__ExceptionPtrAssign@@YAXPAXPBX at Z
+ * ?__ExceptionPtrAssign@@YAXPEAXPEBX at Z
+ */
+void __cdecl __ExceptionPtrAssign(exception_ptr *ep, const exception_ptr *assign)
+{
+ TRACE("(%p %p)\n", ep, assign);
+
+ /* don't destroy object stored in ep */
+ *ep = *assign;
+}
+
+/*********************************************************************
* ?__ExceptionPtrRethrow@@YAXPBX at Z
* ?__ExceptionPtrRethrow@@YAXPEBX at Z
*/
More information about the wine-cvs
mailing list