diff options
Diffstat (limited to 'bridges')
-rw-r--r-- | bridges/inc/msvc/except.hxx | 2 | ||||
-rw-r--r-- | bridges/source/cpp_uno/msvc_shared/cpp2uno.cxx | 3 | ||||
-rw-r--r-- | bridges/source/cpp_uno/msvc_shared/except.cxx | 2 |
3 files changed, 3 insertions, 4 deletions
diff --git a/bridges/inc/msvc/except.hxx b/bridges/inc/msvc/except.hxx index f1403a43af88..29fe007a435f 100644 --- a/bridges/inc/msvc/except.hxx +++ b/bridges/inc/msvc/except.hxx @@ -33,7 +33,7 @@ typedef struct _uno_Any uno_Any; typedef struct _uno_Mapping uno_Mapping; int msvc_filterCppException(EXCEPTION_POINTERS*, uno_Any*, uno_Mapping*); -void msvc_raiseException(uno_Any*, uno_Mapping*); +[[noreturn]] void msvc_raiseException(uno_Any*, uno_Mapping*); constexpr DWORD MSVC_EH_MAGIC_PARAM = 0x19930520; // The NT Exception code that msvcrt uses ('msc' | 0xE0000000) diff --git a/bridges/source/cpp_uno/msvc_shared/cpp2uno.cxx b/bridges/source/cpp_uno/msvc_shared/cpp2uno.cxx index 15aa14d9b90b..d2bbf5ab22b4 100644 --- a/bridges/source/cpp_uno/msvc_shared/cpp2uno.cxx +++ b/bridges/source/cpp_uno/msvc_shared/cpp2uno.cxx @@ -163,9 +163,6 @@ cpp2uno_call(bridges::cpp_uno::shared::CppInterfaceProxy* pThis, TYPELIB_DANGER_RELEASE(pReturnTD); msvc_raiseException(&aUnoExc, pThis->getBridge()->getUno2Cpp()); // has to destruct the any - - // is here for dummy - return typelib_TypeClass_VOID; } else // no exception occurred... { diff --git a/bridges/source/cpp_uno/msvc_shared/except.cxx b/bridges/source/cpp_uno/msvc_shared/except.cxx index b68dd41d6bdc..b6c6715e0336 100644 --- a/bridges/source/cpp_uno/msvc_shared/except.cxx +++ b/bridges/source/cpp_uno/msvc_shared/except.cxx @@ -21,6 +21,7 @@ #include <memory> +#include <cstdlib> #include <malloc.h> #include <new.h> #include <typeinfo> @@ -196,6 +197,7 @@ void msvc_raiseException(uno_Any* pUnoExc, uno_Mapping* pUno2Cpp) // last point to release anything not affected by stack unwinding RaiseException(MSVC_EH_MAGIC_CODE, EXCEPTION_NONCONTINUABLE, MSVC_EH_PARAMETERS, arFilterArgs); + std::abort(); } // This function does the same check as __CxxDetectRethrow from msvcrt (see its |