diff -r d1a6af9e8bd9 boost/archive/iterators/transform_width.hpp --- a/boost/archive/iterators/transform_width.hpp Tue Nov 12 16:03:20 2013 +0800 +++ b/boost/archive/iterators/transform_width.hpp Thu Nov 14 10:07:33 2013 +0800 @@ -30,6 +30,10 @@ #include #include +#if defined(_MSC_VER) && (_MSC_VER >= 1800) +# include // for std::min and std::max +#endif + namespace boost { namespace archive { namespace iterators { diff -r d1a6af9e8bd9 boost/interprocess/detail/os_file_functions.hpp --- a/boost/interprocess/detail/os_file_functions.hpp Tue Nov 12 16:03:20 2013 +0800 +++ b/boost/interprocess/detail/os_file_functions.hpp Thu Nov 14 10:07:33 2013 +0800 @@ -94,8 +94,13 @@ inline bool create_directory(const char *path) { return winapi::create_directory(path); } +#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_APP) +inline const char *get_temporary_path() +{ return NULL; } +#else inline const char *get_temporary_path() { return std::getenv("TMP"); } +#endif inline file_handle_t create_new_file diff -r d1a6af9e8bd9 boost/interprocess/detail/os_thread_functions.hpp --- a/boost/interprocess/detail/os_thread_functions.hpp Tue Nov 12 16:03:20 2013 +0800 +++ b/boost/interprocess/detail/os_thread_functions.hpp Thu Nov 14 10:07:33 2013 +0800 @@ -482,6 +482,8 @@ #if defined(BOOST_INTERPROCESS_WINDOWS) +#if !(defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_APP)) + inline int thread_create( OS_thread_t * thread, unsigned (__stdcall * start_routine) (void*), void* arg ) { void* h = (void*)_beginthreadex( 0, 0, start_routine, arg, 0, 0 ); @@ -495,6 +497,8 @@ } } +#endif + inline void thread_join( OS_thread_t thread) { winapi::wait_for_single_object( thread, winapi::infinite_time ); diff -r d1a6af9e8bd9 boost/interprocess/detail/workaround.hpp --- a/boost/interprocess/detail/workaround.hpp Tue Nov 12 16:03:20 2013 +0800 +++ b/boost/interprocess/detail/workaround.hpp Thu Nov 14 10:07:33 2013 +0800 @@ -73,7 +73,7 @@ #endif //Check for XSI shared memory objects. They are available in nearly all UNIX platforms - #if !defined(__QNXNTO__) + #if !defined(__QNXNTO__) && !defined(ANDROID) #define BOOST_INTERPROCESS_XSI_SHARED_MEMORY_OBJECTS #endif diff -r d1a6af9e8bd9 boost/intrusive/detail/has_member_function_callable_with.hpp --- a/boost/intrusive/detail/has_member_function_callable_with.hpp Tue Nov 12 16:03:20 2013 +0800 +++ b/boost/intrusive/detail/has_member_function_callable_with.hpp Thu Nov 14 10:07:33 2013 +0800 @@ -195,6 +195,8 @@ static const bool value = false; }; + #ifdef BOOST_NO_CXX11_DECLTYPE + //Special case for 0 args template< class F , std::size_t N = @@ -215,13 +217,20 @@ BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)(int); }; + #endif //#ifdef BOOST_NO_CXX11_DECLTYPE + template struct BOOST_PP_CAT(BOOST_PP_CAT(has_member_function_callable_with_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME),_impl) { + #ifndef BOOST_NO_CXX11_DECLTYPE + template().BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME()) > + static boost_intrusive_has_member_function_callable_with::yes_type Test(Fun*); + #else template static BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME) Test(BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)*); + #endif template static boost_intrusive_has_member_function_callable_with::no_type Test(...); diff -r d1a6af9e8bd9 boost/intrusive/detail/mpl.hpp --- a/boost/intrusive/detail/mpl.hpp Tue Nov 12 16:03:20 2013 +0800 +++ b/boost/intrusive/detail/mpl.hpp Thu Nov 14 10:07:33 2013 +0800 @@ -130,7 +130,7 @@ #define BOOST_INTRUSIVE_TT_DECL #endif -#if defined(_MSC_EXTENSIONS) && !defined(__BORLAND__) && !defined(_WIN64) && !defined(UNDER_CE) +#if defined(_MSC_EXTENSIONS) && !defined(__BORLAND__) && !defined(_WIN64) && !defined(UNDER_CE) && !defined(_M_ARM) #define BOOST_INTRUSIVE_TT_TEST_MSC_FUNC_SIGS #endif diff -r d1a6af9e8bd9 boost/mpl/assert.hpp --- a/boost/mpl/assert.hpp Tue Nov 12 16:03:20 2013 +0800 +++ b/boost/mpl/assert.hpp Thu Nov 14 10:07:33 2013 +0800 @@ -34,7 +34,7 @@ #include // make sure 'size_t' is placed into 'std' #include -#if BOOST_WORKAROUND(BOOST_MSVC, == 1700) +#if BOOST_WORKAROUND(BOOST_MSVC, >= 1700) #include #endif @@ -134,7 +134,7 @@ #endif -#if BOOST_WORKAROUND(BOOST_MSVC, == 1700) +#if BOOST_WORKAROUND(BOOST_MSVC, >= 1700) template struct extract_assert_pred; @@ -244,7 +244,7 @@ BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -#if BOOST_WORKAROUND(BOOST_MSVC, == 1700) +#if BOOST_WORKAROUND(BOOST_MSVC, >= 1700) // BOOST_MPL_ASSERT((pred))