diff options
Diffstat (limited to '3rdParty/Boost/src/boost/exception')
14 files changed, 86 insertions, 72 deletions
diff --git a/3rdParty/Boost/src/boost/exception/current_exception_cast.hpp b/3rdParty/Boost/src/boost/exception/current_exception_cast.hpp index af2f153..5d81f00 100644 --- a/3rdParty/Boost/src/boost/exception/current_exception_cast.hpp +++ b/3rdParty/Boost/src/boost/exception/current_exception_cast.hpp @@ -5,7 +5,7 @@ #ifndef UUID_7E83C166200811DE885E826156D89593 #define UUID_7E83C166200811DE885E826156D89593 -#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma GCC system_header #endif #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) diff --git a/3rdParty/Boost/src/boost/exception/detail/attribute_noreturn.hpp b/3rdParty/Boost/src/boost/exception/detail/attribute_noreturn.hpp deleted file mode 100644 index ae9f031..0000000 --- a/3rdParty/Boost/src/boost/exception/detail/attribute_noreturn.hpp +++ /dev/null @@ -1,17 +0,0 @@ -//Copyright (c) 2009 Emil Dotchevski and Reverge Studios, Inc. - -//Distributed under the Boost Software License, Version 1.0. (See accompanying -//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef UUID_61531AB0680611DEADD5846855D89593 -#define UUID_61531AB0680611DEADD5846855D89593 - -#if defined(_MSC_VER) -#define BOOST_ATTRIBUTE_NORETURN __declspec(noreturn) -#elif defined(__GNUC__) -#define BOOST_ATTRIBUTE_NORETURN __attribute__((__noreturn__)) -#else -#define BOOST_ATTRIBUTE_NORETURN -#endif - -#endif diff --git a/3rdParty/Boost/src/boost/exception/detail/clone_current_exception.hpp b/3rdParty/Boost/src/boost/exception/detail/clone_current_exception.hpp index cc201b9..6fc1374 100644 --- a/3rdParty/Boost/src/boost/exception/detail/clone_current_exception.hpp +++ b/3rdParty/Boost/src/boost/exception/detail/clone_current_exception.hpp @@ -1,10 +1,16 @@ -//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. +//Copyright (c) 2006-2013 Emil Dotchevski and Reverge Studios, Inc. //Distributed under the Boost Software License, Version 1.0. (See accompanying //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #ifndef UUID_81522C0EB56511DFAB613DB0DFD72085 #define UUID_81522C0EB56511DFAB613DB0DFD72085 +#if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma GCC system_header +#endif +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(push,1) +#endif #ifdef BOOST_NO_EXCEPTIONS # error This header requires exception handling to be enabled. @@ -44,4 +50,7 @@ boost } } +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(pop) +#endif #endif diff --git a/3rdParty/Boost/src/boost/exception/detail/error_info_impl.hpp b/3rdParty/Boost/src/boost/exception/detail/error_info_impl.hpp index a8d1aa7..12e601b 100644 --- a/3rdParty/Boost/src/boost/exception/detail/error_info_impl.hpp +++ b/3rdParty/Boost/src/boost/exception/detail/error_info_impl.hpp @@ -5,7 +5,7 @@ #ifndef UUID_CE6983AC753411DDA764247956D89593 #define UUID_CE6983AC753411DDA764247956D89593 -#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma GCC system_header #endif #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) @@ -25,8 +25,7 @@ boost { public: - virtual std::string tag_typeid_name() const = 0; - virtual std::string value_as_string() const = 0; + virtual std::string name_value_string() const = 0; protected: @@ -63,8 +62,7 @@ boost private: - std::string tag_typeid_name() const; - std::string value_as_string() const; + std::string name_value_string() const; value_type value_; }; diff --git a/3rdParty/Boost/src/boost/exception/detail/exception_ptr.hpp b/3rdParty/Boost/src/boost/exception/detail/exception_ptr.hpp index 5e5a267..530a6bd 100644 --- a/3rdParty/Boost/src/boost/exception/detail/exception_ptr.hpp +++ b/3rdParty/Boost/src/boost/exception/detail/exception_ptr.hpp @@ -5,7 +5,7 @@ #ifndef UUID_618474C2DE1511DEB74A388C56D89593 #define UUID_618474C2DE1511DEB74A388C56D89593 -#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma GCC system_header #endif #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) @@ -21,6 +21,9 @@ #include <boost/exception/diagnostic_information.hpp> #include <boost/exception/detail/type_info.hpp> #include <boost/exception/detail/clone_current_exception.hpp> +//#ifndef BOOST_NO_RTTI +//#include <boost/units/detail/utility.hpp> +//#endif #include <boost/shared_ptr.hpp> #include <stdexcept> #include <new> @@ -31,7 +34,7 @@ namespace boost { class exception_ptr; - BOOST_ATTRIBUTE_NORETURN void rethrow_exception( exception_ptr const & ); + BOOST_NORETURN void rethrow_exception( exception_ptr const & ); exception_ptr current_exception(); class @@ -89,7 +92,7 @@ boost std::string to_string( original_exception_type const & x ) { - return x.value()->name(); + return /*units::detail::demangle*/(x.value()->name()); } #endif @@ -118,10 +121,12 @@ boost { Exception ba; exception_detail::clone_impl<Exception> c(ba); +#ifndef BOOST_EXCEPTION_DISABLE c << throw_function(BOOST_CURRENT_FUNCTION) << throw_file(__FILE__) << throw_line(__LINE__); +#endif static exception_ptr ep(shared_ptr<exception_detail::clone_base const>(new exception_detail::clone_impl<Exception>(c))); return ep; } @@ -449,7 +454,7 @@ boost return ret; } - BOOST_ATTRIBUTE_NORETURN + BOOST_NORETURN inline void rethrow_exception( exception_ptr const & p ) @@ -467,7 +472,7 @@ boost inline std::string - diagnostic_information( exception_ptr const & p ) + diagnostic_information( exception_ptr const & p, bool verbose=true ) { if( p ) try @@ -477,7 +482,7 @@ boost catch( ... ) { - return current_exception_diagnostic_information(); + return current_exception_diagnostic_information(verbose); } return "<empty>"; } diff --git a/3rdParty/Boost/src/boost/exception/detail/is_output_streamable.hpp b/3rdParty/Boost/src/boost/exception/detail/is_output_streamable.hpp index 743313c..847f348 100644 --- a/3rdParty/Boost/src/boost/exception/detail/is_output_streamable.hpp +++ b/3rdParty/Boost/src/boost/exception/detail/is_output_streamable.hpp @@ -5,7 +5,7 @@ #ifndef UUID_898984B4076411DD973EDFA055D89593 #define UUID_898984B4076411DD973EDFA055D89593 -#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma GCC system_header #endif #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) diff --git a/3rdParty/Boost/src/boost/exception/detail/object_hex_dump.hpp b/3rdParty/Boost/src/boost/exception/detail/object_hex_dump.hpp index ccf1bac..53c8bf6 100644 --- a/3rdParty/Boost/src/boost/exception/detail/object_hex_dump.hpp +++ b/3rdParty/Boost/src/boost/exception/detail/object_hex_dump.hpp @@ -5,7 +5,7 @@ #ifndef UUID_6F463AC838DF11DDA3E6909F56D89593 #define UUID_6F463AC838DF11DDA3E6909F56D89593 -#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma GCC system_header #endif #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) diff --git a/3rdParty/Boost/src/boost/exception/detail/type_info.hpp b/3rdParty/Boost/src/boost/exception/detail/type_info.hpp index 92f8464..0af8ef5 100644 --- a/3rdParty/Boost/src/boost/exception/detail/type_info.hpp +++ b/3rdParty/Boost/src/boost/exception/detail/type_info.hpp @@ -5,7 +5,7 @@ #ifndef UUID_C3E1741C754311DDB2834CCA55D89593 #define UUID_C3E1741C754311DDB2834CCA55D89593 -#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma GCC system_header #endif #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) @@ -15,9 +15,9 @@ #include <boost/detail/sp_typeinfo.hpp> #include <boost/current_function.hpp> #include <boost/config.hpp> -#ifndef BOOST_NO_TYPEID -#include <boost/units/detail/utility.hpp> -#endif +//#ifndef BOOST_NO_TYPEID +//#include <boost/units/detail/utility.hpp> +//#endif #include <string> namespace @@ -31,7 +31,7 @@ boost #ifdef BOOST_NO_TYPEID return BOOST_CURRENT_FUNCTION; #else - return units::detail::demangle(typeid(T*).name()); + return /*units::detail::demangle*/(typeid(T*).name()); #endif } @@ -43,7 +43,7 @@ boost #ifdef BOOST_NO_TYPEID return BOOST_CURRENT_FUNCTION; #else - return units::detail::demangle(typeid(T).name()); + return /*units::detail::demangle*/(typeid(T).name()); #endif } diff --git a/3rdParty/Boost/src/boost/exception/diagnostic_information.hpp b/3rdParty/Boost/src/boost/exception/diagnostic_information.hpp index ef89d73..7889c8f 100644 --- a/3rdParty/Boost/src/boost/exception/diagnostic_information.hpp +++ b/3rdParty/Boost/src/boost/exception/diagnostic_information.hpp @@ -5,7 +5,7 @@ #ifndef UUID_0552D49838DD11DD90146B8956D89593 #define UUID_0552D49838DD11DD90146B8956D89593 -#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma GCC system_header #endif #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) @@ -16,9 +16,9 @@ #include <boost/exception/get_error_info.hpp> #include <boost/exception/info.hpp> #include <boost/utility/enable_if.hpp> -#ifndef BOOST_NO_RTTI -#include <boost/units/detail/utility.hpp> -#endif +//#ifndef BOOST_NO_RTTI +//#include <boost/units/detail/utility.hpp> +//#endif #include <exception> #include <sstream> #include <string> @@ -31,17 +31,17 @@ boost namespace exception_detail { - std::string diagnostic_information_impl( boost::exception const *, std::exception const *, bool ); + std::string diagnostic_information_impl( boost::exception const *, std::exception const *, bool, bool ); } inline std::string - current_exception_diagnostic_information() + current_exception_diagnostic_information( bool verbose=true) { boost::exception const * be=current_exception_cast<boost::exception const>(); std::exception const * se=current_exception_cast<std::exception const>(); if( be || se ) - return exception_detail::diagnostic_information_impl(be,se,true); + return exception_detail::diagnostic_information_impl(be,se,true,verbose); else return "No diagnostic information available."; } @@ -107,7 +107,7 @@ boost inline std::string - diagnostic_information_impl( boost::exception const * be, std::exception const * se, bool with_what ) + diagnostic_information_impl( boost::exception const * be, std::exception const * se, bool with_what, bool verbose ) { if( !be && !se ) return "Unknown exception."; @@ -125,7 +125,7 @@ boost return wh; } std::ostringstream tmp; - if( be ) + if( be && verbose ) { char const * const * f=get_error_info<throw_file>(*be); int const * l=get_error_info<throw_line>(*be); @@ -149,36 +149,37 @@ boost } } #ifndef BOOST_NO_RTTI - tmp << std::string("Dynamic exception type: ") << - units::detail::demangle((be?(BOOST_EXCEPTION_DYNAMIC_TYPEID(*be)):(BOOST_EXCEPTION_DYNAMIC_TYPEID(*se))).type_->name()) << '\n'; + if ( verbose ) + tmp << std::string("Dynamic exception type: ") << + /*units::detail::demangle*/((be?(BOOST_EXCEPTION_DYNAMIC_TYPEID(*be)):(BOOST_EXCEPTION_DYNAMIC_TYPEID(*se))).type_->name()) << '\n'; #endif - if( with_what && se ) + if( with_what && se && verbose ) tmp << "std::exception::what: " << wh << '\n'; if( be ) if( char const * s=exception_detail::get_diagnostic_information(*be,tmp.str().c_str()) ) if( *s ) - return s; + return std::string(s); return tmp.str(); } } template <class T> std::string - diagnostic_information( T const & e ) + diagnostic_information( T const & e, bool verbose=true ) { - return exception_detail::diagnostic_information_impl(exception_detail::get_boost_exception(&e),exception_detail::get_std_exception(&e),true); + return exception_detail::diagnostic_information_impl(exception_detail::get_boost_exception(&e),exception_detail::get_std_exception(&e),true,verbose); } inline char const * - diagnostic_information_what( exception const & e ) throw() + diagnostic_information_what( exception const & e, bool verbose=true ) throw() { char const * w=0; #ifndef BOOST_NO_EXCEPTIONS try { #endif - (void) exception_detail::diagnostic_information_impl(&e,0,false); + (void) exception_detail::diagnostic_information_impl(&e,0,false,verbose); if( char const * di=exception_detail::get_diagnostic_information(e,0) ) return di; else diff --git a/3rdParty/Boost/src/boost/exception/exception.hpp b/3rdParty/Boost/src/boost/exception/exception.hpp index 42d2787..d762cf8 100644 --- a/3rdParty/Boost/src/boost/exception/exception.hpp +++ b/3rdParty/Boost/src/boost/exception/exception.hpp @@ -5,7 +5,7 @@ #ifndef UUID_274DA366004E11DCB1DDFE2E56D89593 #define UUID_274DA366004E11DCB1DDFE2E56D89593 -#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma GCC system_header #endif #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) @@ -207,6 +207,12 @@ boost class exception { + //<N3757> + public: + template <class Tag> void set( typename Tag::type const & ); + template <class Tag> typename Tag::type const * get() const; + //</N3757> + protected: exception(): diff --git a/3rdParty/Boost/src/boost/exception/get_error_info.hpp b/3rdParty/Boost/src/boost/exception/get_error_info.hpp index 046f05a..96be763 100644 --- a/3rdParty/Boost/src/boost/exception/get_error_info.hpp +++ b/3rdParty/Boost/src/boost/exception/get_error_info.hpp @@ -5,7 +5,7 @@ #ifndef UUID_1A590226753311DD9E4CCF6156D89593 #define UUID_1A590226753311DD9E4CCF6156D89593 -#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma GCC system_header #endif #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) diff --git a/3rdParty/Boost/src/boost/exception/info.hpp b/3rdParty/Boost/src/boost/exception/info.hpp index 7b56076..762a950 100644 --- a/3rdParty/Boost/src/boost/exception/info.hpp +++ b/3rdParty/Boost/src/boost/exception/info.hpp @@ -5,7 +5,7 @@ #ifndef UUID_8D22C4CA9CC811DCAA9133D256D89593 #define UUID_8D22C4CA9CC811DCAA9133D256D89593 -#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma GCC system_header #endif #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) @@ -24,41 +24,40 @@ boost { template <class Tag,class T> inline - typename enable_if<has_to_string<T>,std::string>::type - to_string( error_info<Tag,T> const & x ) + std::string + error_info_name( error_info<Tag,T> const & x ) { - return to_string(x.value()); + return tag_type_name<Tag>(); } template <class Tag,class T> inline - error_info<Tag,T>:: - error_info( value_type const & value ): - value_(value) + std::string + to_string( error_info<Tag,T> const & x ) { + return '[' + error_info_name(x) + "] = " + to_string_stub(x.value()) + '\n'; } template <class Tag,class T> inline error_info<Tag,T>:: - ~error_info() throw() + error_info( value_type const & value ): + value_(value) { } template <class Tag,class T> inline - std::string error_info<Tag,T>:: - tag_typeid_name() const + ~error_info() throw() { - return tag_type_name<Tag>(); } template <class Tag,class T> inline std::string error_info<Tag,T>:: - value_as_string() const + name_value_string() const { return to_string_stub(*this); } @@ -114,7 +113,7 @@ boost for( error_info_map::const_iterator i=info_.begin(),end=info_.end(); i!=end; ++i ) { error_info_base const & x = *i->second; - tmp << '[' << x.tag_typeid_name() << "] = " << x.value_as_string() << '\n'; + tmp << x.name_value_string(); } tmp.str().swap(diagnostic_info_str_); } diff --git a/3rdParty/Boost/src/boost/exception/to_string.hpp b/3rdParty/Boost/src/boost/exception/to_string.hpp index 59bf83d..68541d2 100644 --- a/3rdParty/Boost/src/boost/exception/to_string.hpp +++ b/3rdParty/Boost/src/boost/exception/to_string.hpp @@ -5,7 +5,7 @@ #ifndef UUID_7E48761AD92811DC9011477D56D89593 #define UUID_7E48761AD92811DC9011477D56D89593 -#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma GCC system_header #endif #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) @@ -19,11 +19,16 @@ namespace boost { + template <class T,class U> + std::string to_string( std::pair<T,U> const & ); + std::string to_string( std::exception const & ); + namespace to_string_detail { template <class T> typename disable_if<is_output_streamable<T>,char>::type to_string( T const & ); + using boost::to_string; template <class,bool IsOutputStreamable> struct has_to_string_impl; diff --git a/3rdParty/Boost/src/boost/exception/to_string_stub.hpp b/3rdParty/Boost/src/boost/exception/to_string_stub.hpp index e41d369..b6ab31c 100644 --- a/3rdParty/Boost/src/boost/exception/to_string_stub.hpp +++ b/3rdParty/Boost/src/boost/exception/to_string_stub.hpp @@ -5,7 +5,7 @@ #ifndef UUID_E788439ED9F011DCB181F25B55D89593 #define UUID_E788439ED9F011DCB181F25B55D89593 -#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma GCC system_header #endif #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) @@ -101,6 +101,14 @@ boost { return exception_detail::to_string_dispatch::dispatch(x,s); } + + template <class T,class U,class Stub> + inline + std::string + to_string_stub( std::pair<T,U> const & x, Stub s ) + { + return std::string("(") + to_string_stub(x.first,s) + ',' + to_string_stub(x.second,s) + ')'; + } } #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) |