diff options
Diffstat (limited to '3rdParty/Boost/src/boost/numeric/conversion/converter_policies.hpp')
-rw-r--r-- | 3rdParty/Boost/src/boost/numeric/conversion/converter_policies.hpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/3rdParty/Boost/src/boost/numeric/conversion/converter_policies.hpp b/3rdParty/Boost/src/boost/numeric/conversion/converter_policies.hpp index b0d741b..e7a5e67 100644 --- a/3rdParty/Boost/src/boost/numeric/conversion/converter_policies.hpp +++ b/3rdParty/Boost/src/boost/numeric/conversion/converter_policies.hpp @@ -13,6 +13,7 @@ #include <typeinfo> // for std::bad_cast #include <boost/config/no_tr1/cmath.hpp> // for std::floor and std::ceil +#include <boost/throw_exception.hpp> #include <functional> @@ -158,10 +159,17 @@ struct def_overflow_handler { void operator() ( range_check_result r ) // throw(negative_overflow,positive_overflow) { +#ifndef BOOST_NO_EXCEPTIONS if ( r == cNegOverflow ) throw negative_overflow() ; else if ( r == cPosOverflow ) throw positive_overflow() ; +#else + if ( r == cNegOverflow ) + ::boost::throw_exception(negative_overflow()) ; + else if ( r == cPosOverflow ) + ::boost::throw_exception(positive_overflow()) ; +#endif } } ; |