summaryrefslogtreecommitdiff
path: root/boost/test/impl/execution_monitor.ipp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/test/impl/execution_monitor.ipp')
-rw-r--r--boost/test/impl/execution_monitor.ipp12
1 files changed, 7 insertions, 5 deletions
diff --git a/boost/test/impl/execution_monitor.ipp b/boost/test/impl/execution_monitor.ipp
index b3e873efbe..f7fc8ea4e2 100644
--- a/boost/test/impl/execution_monitor.ipp
+++ b/boost/test/impl/execution_monitor.ipp
@@ -1137,6 +1137,8 @@ execution_monitor::catch_signals( boost::function<int ()> const& F )
detail::system_signal_exception SSE( this );
int ret_val = 0;
+ // clang windows workaround: this not available in __finally scope
+ bool l_catch_system_errors = p_catch_system_errors;
__try {
__try {
@@ -1147,7 +1149,7 @@ execution_monitor::catch_signals( boost::function<int ()> const& F )
}
}
__finally {
- if( p_catch_system_errors ) {
+ if( l_catch_system_errors ) {
BOOST_TEST_CRT_SET_HOOK( old_crt_hook );
_set_invalid_parameter_handler( old_iph );
@@ -1380,8 +1382,8 @@ enable( unsigned mask )
return ~old_cw & BOOST_FPE_ALL;
#elif defined(__GLIBC__) && defined(__USE_GNU) && !defined(BOOST_CLANG) && !defined(BOOST_NO_FENV_H)
- ::feclearexcept(BOOST_FPE_ALL);
- int res = ::feenableexcept( mask );
+ feclearexcept(BOOST_FPE_ALL);
+ int res = feenableexcept( mask );
return res == -1 ? (unsigned)BOOST_FPE_INV : (unsigned)res;
#else
/* Not Implemented */
@@ -1417,8 +1419,8 @@ disable( unsigned mask )
return ~old_cw & BOOST_FPE_ALL;
#elif defined(__GLIBC__) && defined(__USE_GNU) && !defined(BOOST_CLANG) && !defined(BOOST_NO_FENV_H)
- ::feclearexcept(BOOST_FPE_ALL);
- int res = ::fedisableexcept( mask );
+ feclearexcept(BOOST_FPE_ALL);
+ int res = fedisableexcept( mask );
return res == -1 ? (unsigned)BOOST_FPE_INV : (unsigned)res;
#else
/* Not Implemented */