Piotr Caban : msvcp90: Don't use throw_exception helper for rethrow.
Alexandre Julliard
julliard at winehq.org
Thu Aug 26 15:22:31 CDT 2021
Module: wine
Branch: master
Commit: eebc5c505e4eecb31d7829715b4bb1df393a9ea9
URL: https://source.winehq.org/git/wine.git/?a=commit;h=eebc5c505e4eecb31d7829715b4bb1df393a9ea9
Author: Piotr Caban <piotr at 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 at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at 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*);
More information about the wine-cvs
mailing list