Fix wrong configure test for abi::__forced_unwind in previous commit.
The previous commit was accidental and contained an initial version of the patch which didn't test for NPTL abi::__forced_unwind correctly and just tested whether cxxabi.h header was available. Tighten the check to work on the other systems and check for __forced_unwind existence itself. Also check for cxxabi.h before testing for __cxa_demangle as there is no need to try to compile another test program if we already know that this entire header is unavailable anyhow. See #14626. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72532 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -54,7 +54,7 @@
|
||||
#include <thread.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_CXXABI_H
|
||||
#ifdef HAVE_ABI_FORCEDUNWIND
|
||||
#include <cxxabi.h>
|
||||
#endif
|
||||
|
||||
@@ -861,7 +861,7 @@ void *wxThreadInternal::PthreadStart(wxThread *thread)
|
||||
wxT("Thread %p Entry() returned %lu."),
|
||||
THR_ID(pthread), wxPtrToUInt(pthread->m_exitcode));
|
||||
}
|
||||
#ifdef HAVE_CXXABI_H
|
||||
#ifdef HAVE_ABI_FORCEDUNWIND
|
||||
// When using common C++ ABI under Linux we must always rethrow this
|
||||
// special exception used to unwind the stack when the thread was
|
||||
// cancelled, otherwise the thread library would simply terminate the
|
||||
@@ -872,7 +872,7 @@ void *wxThreadInternal::PthreadStart(wxThread *thread)
|
||||
pthread->SetState(STATE_EXITED);
|
||||
throw;
|
||||
}
|
||||
#endif // HAVE_CXXABI_H
|
||||
#endif // HAVE_ABI_FORCEDUNWIND
|
||||
wxCATCH_ALL( wxTheApp->OnUnhandledException(); )
|
||||
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user