Piotr Caban : msvcp100: Added exception throwing helpers.
Module: wine Branch: master Commit: d55eabbb31f54a50be48aeebea4c7f85114fa4ab URL: http://source.winehq.org/git/wine.git/?a=commit;h=d55eabbb31f54a50be48aeebea... Author: Piotr Caban <piotr(a)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(a)tr1@std@@YAXXZ */ +void __cdecl _Xmem(void) +{ + TRACE("()\n"); + throw_exception(EXCEPTION_BAD_ALLOC, NULL); +} + +/* ?_Xinvalid_argument(a)std@@YAXPBD(a)Z */ +/* ?_Xinvalid_argument(a)std@@YAXPEBD(a)Z */ +void __cdecl _Xinvalid_argument(const char *str) +{ + TRACE("(%s)\n", debugstr_a(str)); + throw_exception(EXCEPTION_INVALID_ARGUMENT, str); +} + +/* ?_Xlength_error(a)std@@YAXPBD(a)Z */ +/* ?_Xlength_error(a)std@@YAXPEBD(a)Z */ +void __cdecl _Xlength_error(const char *str) +{ + TRACE("(%s)\n", debugstr_a(str)); + throw_exception(EXCEPTION_LENGTH_ERROR, str); +} + +/* ?_Xout_of_range(a)std@@YAXPBD(a)Z */ +/* ?_Xout_of_range(a)std@@YAXPEBD(a)Z */ +void __cdecl _Xout_of_range(const char *str) +{ + TRACE("(%s)\n", debugstr_a(str)); + throw_exception(EXCEPTION_OUT_OF_RANGE, str); +} + +/* ?_Xruntime_error(a)std@@YAXPBD(a)Z */ +/* ?_Xruntime_error(a)std@@YAXPEBD(a)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(a)tr1@std@@YAOO(a)Z @ stub ?_Xbad(a)tr1@std@@YAXW4error_type(a)regex_constants@12@@Z @ stub ?_Xfunc(a)tr1@std@@YAXXZ -@ stub -arch=win32 ?_Xinvalid_argument(a)std@@YAXPBD(a)Z -@ stub -arch=win64 ?_Xinvalid_argument(a)std@@YAXPEBD(a)Z -@ stub -arch=win32 ?_Xlength_error(a)std@@YAXPBD(a)Z -@ stub -arch=win64 ?_Xlength_error(a)std@@YAXPEBD(a)Z -@ stub ?_Xmem(a)tr1@std@@YAXXZ -@ stub -arch=win32 ?_Xout_of_range(a)std@@YAXPBD(a)Z -@ stub -arch=win64 ?_Xout_of_range(a)std@@YAXPEBD(a)Z +@ cdecl -arch=win32 ?_Xinvalid_argument(a)std@@YAXPBD(a)Z(str) _Xinvalid_argument +@ cdecl -arch=win64 ?_Xinvalid_argument(a)std@@YAXPEBD(a)Z(str) _Xinvalid_argument +@ cdecl -arch=win32 ?_Xlength_error(a)std@@YAXPBD(a)Z(str) _Xlength_error +@ cdecl -arch=win64 ?_Xlength_error(a)std@@YAXPEBD(a)Z(str) _Xlength_error +@ cdecl ?_Xmem(a)tr1@std@@YAXXZ() _Xmem +@ cdecl -arch=win32 ?_Xout_of_range(a)std@@YAXPBD(a)Z(str) _Xout_of_range +@ cdecl -arch=win64 ?_Xout_of_range(a)std@@YAXPEBD(a)Z(str) _Xout_of_range @ stub -arch=win32 ?_Xoverflow_error(a)std@@YAXPBD(a)Z @ stub -arch=win64 ?_Xoverflow_error(a)std@@YAXPEBD(a)Z -@ stub -arch=win32 ?_Xruntime_error(a)std@@YAXPBD(a)Z -@ stub -arch=win64 ?_Xruntime_error(a)std@@YAXPEBD(a)Z +@ cdecl -arch=win32 ?_Xruntime_error(a)std@@YAXPBD(a)Z(str) _Xruntime_error +@ cdecl -arch=win64 ?_Xruntime_error(a)std@@YAXPEBD(a)Z(str) _Xruntime_error @ thiscall -arch=win32 ?always_noconv(a)codecvt_base@std@@QBE_NXZ(ptr) codecvt_base_always_noconv @ cdecl -arch=win64 ?always_noconv(a)codecvt_base@std@@QEBA_NXZ(ptr) codecvt_base_always_noconv @ thiscall -arch=win32 ?bad(a)ios_base@std@@QBE_NXZ(ptr) ios_base_bad
participants (1)
-
Alexandre Julliard