Module: wine Branch: master Commit: d55eabbb31f54a50be48aeebea4c7f85114fa4ab URL: http://source.winehq.org/git/wine.git/?a=commit;h=d55eabbb31f54a50be48aeebea...
Author: Piotr Caban piotr@codeweavers.com Date: Thu Nov 29 09:22:10 2012 +0000
msvcp100: Added exception throwing helpers.
---
dlls/msvcp100/exception.c | 39 +++++++++++++++++++++++++++++++++++++++ dlls/msvcp100/msvcp100.spec | 18 +++++++++--------- 2 files changed, 48 insertions(+), 9 deletions(-)
diff --git a/dlls/msvcp100/exception.c b/dlls/msvcp100/exception.c index 1f4ffd2..2e9f1aa 100644 --- a/dlls/msvcp100/exception.c +++ b/dlls/msvcp100/exception.c @@ -454,6 +454,45 @@ void __cdecl _Nomemory(void) throw_exception(EXCEPTION_BAD_ALLOC, NULL); }
+/* ?_Xmem@tr1@std@@YAXXZ */ +void __cdecl _Xmem(void) +{ + TRACE("()\n"); + throw_exception(EXCEPTION_BAD_ALLOC, NULL); +} + +/* ?_Xinvalid_argument@std@@YAXPBD@Z */ +/* ?_Xinvalid_argument@std@@YAXPEBD@Z */ +void __cdecl _Xinvalid_argument(const char *str) +{ + TRACE("(%s)\n", debugstr_a(str)); + throw_exception(EXCEPTION_INVALID_ARGUMENT, str); +} + +/* ?_Xlength_error@std@@YAXPBD@Z */ +/* ?_Xlength_error@std@@YAXPEBD@Z */ +void __cdecl _Xlength_error(const char *str) +{ + TRACE("(%s)\n", debugstr_a(str)); + throw_exception(EXCEPTION_LENGTH_ERROR, str); +} + +/* ?_Xout_of_range@std@@YAXPBD@Z */ +/* ?_Xout_of_range@std@@YAXPEBD@Z */ +void __cdecl _Xout_of_range(const char *str) +{ + TRACE("(%s)\n", debugstr_a(str)); + throw_exception(EXCEPTION_OUT_OF_RANGE, str); +} + +/* ?_Xruntime_error@std@@YAXPBD@Z */ +/* ?_Xruntime_error@std@@YAXPEBD@Z */ +void __cdecl _Xruntime_error(const char *str) +{ + TRACE("(%s)\n", debugstr_a(str)); + throw_exception(EXCEPTION_RUNTIME_ERROR, str); +} + #ifndef __GNUC__ void __asm_dummy_vtables(void) { #endif diff --git a/dlls/msvcp100/msvcp100.spec b/dlls/msvcp100/msvcp100.spec index e4ac191..6a67b3b 100644 --- a/dlls/msvcp100/msvcp100.spec +++ b/dlls/msvcp100/msvcp100.spec @@ -1232,17 +1232,17 @@ @ stub ?_XLgamma@tr1@std@@YAOO@Z @ stub ?_Xbad@tr1@std@@YAXW4error_type@regex_constants@12@@Z @ stub ?_Xfunc@tr1@std@@YAXXZ -@ stub -arch=win32 ?_Xinvalid_argument@std@@YAXPBD@Z -@ stub -arch=win64 ?_Xinvalid_argument@std@@YAXPEBD@Z -@ stub -arch=win32 ?_Xlength_error@std@@YAXPBD@Z -@ stub -arch=win64 ?_Xlength_error@std@@YAXPEBD@Z -@ stub ?_Xmem@tr1@std@@YAXXZ -@ stub -arch=win32 ?_Xout_of_range@std@@YAXPBD@Z -@ stub -arch=win64 ?_Xout_of_range@std@@YAXPEBD@Z +@ cdecl -arch=win32 ?_Xinvalid_argument@std@@YAXPBD@Z(str) _Xinvalid_argument +@ cdecl -arch=win64 ?_Xinvalid_argument@std@@YAXPEBD@Z(str) _Xinvalid_argument +@ cdecl -arch=win32 ?_Xlength_error@std@@YAXPBD@Z(str) _Xlength_error +@ cdecl -arch=win64 ?_Xlength_error@std@@YAXPEBD@Z(str) _Xlength_error +@ cdecl ?_Xmem@tr1@std@@YAXXZ() _Xmem +@ cdecl -arch=win32 ?_Xout_of_range@std@@YAXPBD@Z(str) _Xout_of_range +@ cdecl -arch=win64 ?_Xout_of_range@std@@YAXPEBD@Z(str) _Xout_of_range @ stub -arch=win32 ?_Xoverflow_error@std@@YAXPBD@Z @ stub -arch=win64 ?_Xoverflow_error@std@@YAXPEBD@Z -@ stub -arch=win32 ?_Xruntime_error@std@@YAXPBD@Z -@ stub -arch=win64 ?_Xruntime_error@std@@YAXPEBD@Z +@ cdecl -arch=win32 ?_Xruntime_error@std@@YAXPBD@Z(str) _Xruntime_error +@ cdecl -arch=win64 ?_Xruntime_error@std@@YAXPEBD@Z(str) _Xruntime_error @ thiscall -arch=win32 ?always_noconv@codecvt_base@std@@QBE_NXZ(ptr) codecvt_base_always_noconv @ cdecl -arch=win64 ?always_noconv@codecvt_base@std@@QEBA_NXZ(ptr) codecvt_base_always_noconv @ thiscall -arch=win32 ?bad@ios_base@std@@QBE_NXZ(ptr) ios_base_bad