summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '3rdParty/Boost/src/boost/numeric/conversion/converter_policies.hpp')
-rw-r--r--3rdParty/Boost/src/boost/numeric/conversion/converter_policies.hpp8
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
}
} ;