Boost logo

Boost :

From: David Deakins (ddeakins_at_[hidden])
Date: 2007-10-24 14:02:28


David Deakins wrote:
> I have attached
> a new version of the patch following the existing method for handling
> these missing symbols.
>

Apparently, Windows CE also does not have support for _CrtSetReportHook.
  I have amended the patch one more time to include a fix for this.

Thanks,
-Dave

Index: execution_monitor.ipp
===================================================================
--- execution_monitor.ipp (revision 40426)
+++ execution_monitor.ipp (working copy)
@@ -65,7 +65,7 @@
 # include <stdint.h>
 #endif
 
-# if BOOST_WORKAROUND(_MSC_VER, < 1300 )
+# if BOOST_WORKAROUND(_MSC_VER, < 1300 ) || defined(UNDER_CE)
 typedef void* uintptr_t;
 # endif
 
@@ -96,12 +96,12 @@
 #define MCW_EM _MCW_EM
 #endif
 
-# if !defined(NDEBUG) && defined(_MSC_VER)
+# if !defined(NDEBUG) && defined(_MSC_VER) && !defined(UNDER_CE)
 # define BOOST_TEST_USE_DEBUG_MS_CRT
 # include <crtdbg.h>
 # endif
 
-# if !BOOST_WORKAROUND(_MSC_VER, >= 1400 )
+# if !BOOST_WORKAROUND(_MSC_VER, >= 1400 ) || defined(UNDER_CE)
 
 typedef void* _invalid_parameter_handler;
 
@@ -113,7 +113,7 @@
 
 # endif
 
-# if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x0564))
+# if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x0564)) || defined(UNDER_CE)
 
 namespace { void _set_se_translator( void* ) {} }
 
@@ -145,7 +145,9 @@
 
 #endif
 
+#ifndef UNDER_CE
 #include <errno.h>
+#endif
 
 #include <boost/test/detail/suppress_warnings.hpp>
 
@@ -977,10 +979,12 @@
     }
 
     detail::system_signal_exception SSE( this );
+
+ int ret_val = 0;
 
     __try {
         __try {
- return detail::do_invoke( m_custom_translators , F );
+ ret_val = detail::do_invoke( m_custom_translators , F );
         }
         __except( SSE( GetExceptionCode(), GetExceptionInformation() ) ) {
             throw SSE;
@@ -995,7 +999,7 @@
         }
     }
 
- return 0;
+ return ret_val;
 }
 
 //____________________________________________________________________________//
@@ -1103,9 +1107,14 @@
 // ************************************************************************** //
 
 system_error::system_error()
+#ifdef UNDER_CE
+: p_errno( GetLastError() )
+#else
 : p_errno( errno )
+#endif
 {}
 
+
 //____________________________________________________________________________//
 
 } // namespace boost


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk