Module: wine Branch: master Commit: eebc5c505e4eecb31d7829715b4bb1df393a9ea9 URL: https://source.winehq.org/git/wine.git/?a=commit;h=eebc5c505e4eecb31d7829715...
Author: Piotr Caban piotr@codeweavers.com Date: Thu Aug 26 14:21:03 2021 +0200
msvcp90: Don't use throw_exception helper for rethrow.
Signed-off-by: Piotr Caban piotr@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/msvcp60/ios.c | 2 +- dlls/msvcp60/msvcp.h | 2 ++ dlls/msvcp90/cxx.h | 1 - dlls/msvcp90/details.c | 2 +- dlls/msvcp90/exception.c | 3 --- dlls/msvcp90/ios.c | 2 +- dlls/msvcp90/msvcp90.h | 2 ++ 7 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/dlls/msvcp60/ios.c b/dlls/msvcp60/ios.c index 764ec72e264..8657fd9b3e5 100644 --- a/dlls/msvcp60/ios.c +++ b/dlls/msvcp60/ios.c @@ -4847,7 +4847,7 @@ void __thiscall ios_base_clear_reraise(ios_base *this, IOSB_iostate state, bool return;
if(reraise) - throw_exception(EXCEPTION_RERAISE, NULL); + _CxxThrowException(NULL, NULL); else if(this->state & this->except & IOSTATE_eofbit) throw_exception(EXCEPTION_FAILURE, "eofbit is set"); else if(this->state & this->except & IOSTATE_failbit) diff --git a/dlls/msvcp60/msvcp.h b/dlls/msvcp60/msvcp.h index fa42ba1b6be..d60a588b3eb 100644 --- a/dlls/msvcp60/msvcp.h +++ b/dlls/msvcp60/msvcp.h @@ -483,3 +483,5 @@ typedef struct { double real; double imag; } complex_double; + +void WINAPI DECLSPEC_NORETURN _CxxThrowException(exception*,const cxx_exception_type*); diff --git a/dlls/msvcp90/cxx.h b/dlls/msvcp90/cxx.h index 012354ac9c8..50d78dbddb6 100644 --- a/dlls/msvcp90/cxx.h +++ b/dlls/msvcp90/cxx.h @@ -316,7 +316,6 @@ typedef struct __exception
/* Internal: throws selected exception */ typedef enum __exception_type { - EXCEPTION_RERAISE, EXCEPTION, EXCEPTION_BAD_ALLOC, EXCEPTION_BAD_CAST, diff --git a/dlls/msvcp90/details.c b/dlls/msvcp90/details.c index 4d3abf46141..b265bf1be71 100644 --- a/dlls/msvcp90/details.c +++ b/dlls/msvcp90/details.c @@ -526,7 +526,7 @@ static void concurrent_vector_alloc_segment(_Concurrent_vector_base_v4 *this, __EXCEPT_ALL { this->segment[seg] = NULL; - throw_exception(EXCEPTION_RERAISE, NULL); + _CxxThrowException(NULL, NULL); } __ENDTRY if(!this->segment[seg]) diff --git a/dlls/msvcp90/exception.c b/dlls/msvcp90/exception.c index 7b87c44c1af..4eac9e92bc8 100644 --- a/dlls/msvcp90/exception.c +++ b/dlls/msvcp90/exception.c @@ -31,7 +31,6 @@ CREATE_TYPE_INFO_VTABLE #define CLASS_IS_SIMPLE_TYPE 1 #define CLASS_HAS_VIRTUAL_BASE_CLASS 4
-void WINAPI _CxxThrowException(exception*,const cxx_exception_type*); int* __cdecl __processing_throw(void);
#if _MSVCP_VER >= 70 || defined(_MSVCIRT) @@ -1044,8 +1043,6 @@ void throw_exception(exception_type et, const char *str) exception_name name = EXCEPTION_NAME(str);
switch(et) { - case EXCEPTION_RERAISE: - _CxxThrowException(NULL, NULL); case EXCEPTION: { exception e; MSVCP_exception_ctor(&e, name); diff --git a/dlls/msvcp90/ios.c b/dlls/msvcp90/ios.c index ea0c8783491..8275635096a 100644 --- a/dlls/msvcp90/ios.c +++ b/dlls/msvcp90/ios.c @@ -5264,7 +5264,7 @@ void __thiscall ios_base_clear_reraise(ios_base *this, IOSB_iostate state, bool return;
if(reraise) - throw_exception(EXCEPTION_RERAISE, NULL); + _CxxThrowException(NULL, NULL); else if(this->state & this->except & IOSTATE_eofbit) throw_exception(EXCEPTION_FAILURE, "eofbit is set"); else if(this->state & this->except & IOSTATE_failbit) diff --git a/dlls/msvcp90/msvcp90.h b/dlls/msvcp90/msvcp90.h index a525c8adc1e..94098d84135 100644 --- a/dlls/msvcp90/msvcp90.h +++ b/dlls/msvcp90/msvcp90.h @@ -662,3 +662,5 @@ static inline int mbstowcs_wrapper( size_t *ret, wchar_t *wcs, size_t size, cons #define mbstowcs_s( ret, wcs, size, mbs, count ) mbstowcs_wrapper( ret, wcs, size, mbs, count ) #define hypotf( x, y ) ((float)hypot( (double)(x), (double)(y) )) #endif + +void WINAPI _CxxThrowException(exception*,const cxx_exception_type*);