diff options
Diffstat (limited to '3rdParty/Boost/src/boost/system/system_error.hpp')
-rw-r--r-- | 3rdParty/Boost/src/boost/system/system_error.hpp | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/3rdParty/Boost/src/boost/system/system_error.hpp b/3rdParty/Boost/src/boost/system/system_error.hpp index 4091647..065d365 100644 --- a/3rdParty/Boost/src/boost/system/system_error.hpp +++ b/3rdParty/Boost/src/boost/system/system_error.hpp @@ -17,9 +17,11 @@ namespace boost { namespace system { - // class system_error --------------------------------------------------// + // class system_error ------------------------------------------------------------// - class system_error : public std::runtime_error + class BOOST_SYMBOL_VISIBLE system_error : public std::runtime_error + // BOOST_SYMBOL_VISIBLE is needed by GCC to ensure system_error thrown from a shared + // library can be caught. See svn.boost.org/trac/boost/ticket/3697 { public: system_error( error_code ec ) @@ -62,11 +64,8 @@ namespace boost try { m_what = this->std::runtime_error::what(); - if ( m_error_code ) - { - if ( !m_what.empty() ) m_what += ": "; - m_what += m_error_code.message(); - } + if ( !m_what.empty() ) m_what += ": "; + m_what += m_error_code.message(); } catch (...) { return std::runtime_error::what(); } } |