Index: boost/config/compiler/visualc.hpp =================================================================== --- boost/config/compiler/visualc.hpp (revision 52308) +++ boost/config/compiler/visualc.hpp (working copy) @@ -14,6 +14,15 @@ #define BOOST_MSVC _MSC_VER +#if _MSC_FULL_VER / 10000 == _MSC_VER +# define BOOST_MSVC_FULL (_MSC_FULL_VER * 10) +#elif _MSC_FULL_VER / 100000 == _MSC_VER +# define BOOST_MSVC_FULL _MSC_FULL_VER +#else +# error "Cannot determine build number from _MSC_FULL_VER" +#endif + + // turn off the warnings before we #include anything #pragma warning( disable : 4503 ) // warning: decorated name length exceeded Index: boost/detail/indirect_traits.hpp =================================================================== --- boost/detail/indirect_traits.hpp (revision 52308) +++ boost/detail/indirect_traits.hpp (working copy) @@ -45,7 +45,7 @@ { }; -# if defined(BOOST_MSVC) && _MSC_FULL_VER <= 13102140 // vc7.01 alpha workaround +# if defined(BOOST_MSVC) && BOOST_MSVC_FULL <= 13102140 // vc7.01 alpha workaround template struct is_reference_to_const : mpl::true_ { @@ -138,7 +138,7 @@ { }; -# if defined(BOOST_MSVC) && _MSC_FULL_VER <= 13102140 // vc7.01 alpha workaround +# if defined(BOOST_MSVC) && BOOST_MSVC_FULL <= 13102140 // vc7.01 alpha workaround template struct is_reference_to_volatile : mpl::true_ { Index: boost/iterator/iterator_adaptor.hpp =================================================================== --- boost/iterator/iterator_adaptor.hpp (revision 52308) +++ boost/iterator/iterator_adaptor.hpp (working copy) @@ -128,7 +128,7 @@ typedef boost::detail::enable_type type; }; -# elif BOOST_WORKAROUND(_MSC_FULL_VER, BOOST_TESTED_AT(13102292)) && BOOST_MSVC > 1300 +# elif BOOST_WORKAROUND(BOOST_MSVC_FULL, BOOST_TESTED_AT(13102292)) && BOOST_MSVC > 1300 // For some reason vc7.1 needs us to "cut off" instantiation // of is_convertible in a few cases. Index: boost/mpl/aux_/na_assert.hpp =================================================================== --- boost/mpl/aux_/na_assert.hpp (revision 52308) +++ boost/mpl/aux_/na_assert.hpp (working copy) @@ -18,7 +18,7 @@ #include #include -#if !BOOST_WORKAROUND(_MSC_FULL_VER, <= 140050601) \ +#if !BOOST_WORKAROUND(BOOST_MSVC_FULL, <= 140050601) \ && !BOOST_WORKAROUND(__EDG_VERSION__, <= 243) # include # define BOOST_MPL_AUX_ASSERT_NOT_NA(x) \ Index: boost/python/converter/arg_from_python.hpp =================================================================== --- boost/python/converter/arg_from_python.hpp (revision 52308) +++ boost/python/converter/arg_from_python.hpp (working copy) @@ -115,7 +115,7 @@ arg_rvalue_from_python(PyObject*); bool convertible() const; -# if BOOST_MSVC < 1301 || _MSC_FULL_VER > 13102196 +# if BOOST_MSVC < 1301 || BOOST_MSVC_FULL > 13102196 typename arg_rvalue_from_python:: # endif result_type operator()(); Index: boost/python/converter/arg_to_python_base.hpp =================================================================== --- boost/python/converter/arg_to_python_base.hpp (revision 52308) +++ boost/python/converter/arg_to_python_base.hpp (working copy) @@ -13,12 +13,12 @@ namespace detail { struct BOOST_PYTHON_DECL arg_to_python_base -# if !defined(BOOST_MSVC) || BOOST_MSVC <= 1300 || _MSC_FULL_VER > 13102179 +# if !defined(BOOST_MSVC) || BOOST_MSVC <= 1300 || BOOST_MSVC_FULL > 13102179 : handle<> # endif { arg_to_python_base(void const volatile* source, registration const&); -# if defined(BOOST_MSVC) && BOOST_MSVC > 1300 && _MSC_FULL_VER <= 13102179 +# if defined(BOOST_MSVC) && BOOST_MSVC > 1300 && BOOST_MSVC_FULL <= 13102179 PyObject* get() const { return m_ptr.get(); } PyObject* release() { return m_ptr.release(); } private: Index: boost/python/detail/force_instantiate.hpp =================================================================== --- boost/python/detail/force_instantiate.hpp (revision 52308) +++ boost/python/detail/force_instantiate.hpp (working copy) @@ -10,7 +10,7 @@ // Allows us to force the argument to be instantiated without // incurring unused variable warnings -# if !defined(BOOST_MSVC) || BOOST_MSVC < 1300 || _MSC_FULL_VER > 13102196 +# if !defined(BOOST_MSVC) || BOOST_MSVC < 1300 || BOOST_MSVC_FULL > 13102196 template inline void force_instantiate(T const&) {} Index: boost/python/detail/result.hpp =================================================================== --- boost/python/detail/result.hpp (revision 52308) +++ boost/python/detail/result.hpp (working copy) @@ -43,7 +43,7 @@ template boost::type* result(R (T::*), int = 0) { return 0; } -# if (defined(BOOST_MSVC) && _MSC_FULL_VER <= 13102140) \ +# if (defined(BOOST_MSVC) && BOOST_MSVC_FULL <= 13102140) \ || (defined(__GNUC__) && __GNUC__ < 3) \ || (defined(__MWERKS__) && __MWERKS__ < 0x3000) // This code actually works on all implementations, but why use it when we don't have to? Index: boost/python/override.hpp =================================================================== --- boost/python/override.hpp (revision 52308) +++ boost/python/override.hpp (working copy) @@ -46,7 +46,7 @@ return converter(m_obj.release()); } -# if BOOST_WORKAROUND(_MSC_FULL_VER, BOOST_TESTED_AT(140050215)) +# if BOOST_WORKAROUND(BOOST_MSVC_FULL, BOOST_TESTED_AT(140050215)) template operator T*() { Index: boost/random/lagged_fibonacci.hpp =================================================================== --- boost/random/lagged_fibonacci.hpp (revision 52308) +++ boost/random/lagged_fibonacci.hpp (working copy) @@ -33,7 +33,7 @@ namespace boost { namespace random { -#if BOOST_WORKAROUND(_MSC_FULL_VER, BOOST_TESTED_AT(13102292)) && BOOST_MSVC > 1300 +#if BOOST_WORKAROUND(BOOST_MSVC_FULL, BOOST_TESTED_AT(13102292)) && BOOST_MSVC > 1300 # define BOOST_RANDOM_EXTRACT_LF #endif Index: boost/random/subtract_with_carry.hpp =================================================================== --- boost/random/subtract_with_carry.hpp (revision 52308) +++ boost/random/subtract_with_carry.hpp (working copy) @@ -33,7 +33,7 @@ namespace boost { namespace random { -#if BOOST_WORKAROUND(_MSC_FULL_VER, BOOST_TESTED_AT(13102292)) && BOOST_MSVC > 1300 +#if BOOST_WORKAROUND(BOOST_MSVC_FULL, BOOST_TESTED_AT(13102292)) && BOOST_MSVC > 1300 # define BOOST_RANDOM_EXTRACT_SWC_01 #endif Index: boost/tr1/detail/config.hpp =================================================================== --- boost/tr1/detail/config.hpp (revision 52308) +++ boost/tr1/detail/config.hpp (working copy) @@ -123,7 +123,7 @@ #endif #if defined(_MSC_VER) && (_MSC_VER >= 1500) \ - && defined(_MSC_FULL_VER) && \ + && defined(BOOST_MSVC_FULL) && \ !defined(__SGI_STL_PORT) && \ !defined(_STLPORT_VERSION) && \ !defined(_RWSTD_VER_STR) && \ Index: boost/type_traits/has_new_operator.hpp =================================================================== --- boost/type_traits/has_new_operator.hpp (revision 52308) +++ boost/type_traits/has_new_operator.hpp (working copy) @@ -85,7 +85,7 @@ BOOST_STATIC_CONSTANT(unsigned, s1 = sizeof(has_new_operator_impl::template check_sig(0))); BOOST_STATIC_CONSTANT(unsigned, s2 = sizeof(has_new_operator_impl::template check_sig2(0))); #else - #if BOOST_WORKAROUND(_MSC_FULL_VER, >= 140050000) + #if BOOST_WORKAROUND(BOOST_MSVC_FULL, >= 140050000) #pragma warning(push) #pragma warning(disable:6334) #endif @@ -93,7 +93,7 @@ BOOST_STATIC_CONSTANT(unsigned, s1 = sizeof(check_sig(0))); BOOST_STATIC_CONSTANT(unsigned, s2 = sizeof(check_sig2(0))); - #if BOOST_WORKAROUND(_MSC_FULL_VER, >= 140050000) + #if BOOST_WORKAROUND(BOOST_MSVC_FULL, >= 140050000) #pragma warning(pop) #endif #endif Index: boost/type_traits/intrinsics.hpp =================================================================== --- boost/type_traits/intrinsics.hpp (revision 52308) +++ boost/type_traits/intrinsics.hpp (working copy) @@ -82,7 +82,7 @@ # define BOOST_HAS_TYPE_TRAITS_INTRINSICS #endif -#if defined(BOOST_MSVC) && defined(_MSC_FULL_VER) && (_MSC_FULL_VER >=140050215) +#if defined(BOOST_MSVC) && defined(BOOST_MSVC_FULL) && (BOOST_MSVC_FULL >=140050215) # include # define BOOST_IS_UNION(T) __is_union(T) Index: boost/type_traits/is_abstract.hpp =================================================================== --- boost/type_traits/is_abstract.hpp (revision 52308) +++ boost/type_traits/is_abstract.hpp (working copy) @@ -94,12 +94,12 @@ #ifdef __GNUC__ BOOST_STATIC_CONSTANT(std::size_t, s1 = sizeof(is_abstract_imp2::template check_sig(0))); #else -#if BOOST_WORKAROUND(_MSC_FULL_VER, >= 140050000) +#if BOOST_WORKAROUND(BOOST_MSVC_FULL, >= 140050000) #pragma warning(push) #pragma warning(disable:6334) #endif BOOST_STATIC_CONSTANT(std::size_t, s1 = sizeof(check_sig(0))); -#if BOOST_WORKAROUND(_MSC_FULL_VER, >= 140050000) +#if BOOST_WORKAROUND(BOOST_MSVC_FULL, >= 140050000) #pragma warning(pop) #endif #endif Index: boost/type_traits/is_base_and_derived.hpp =================================================================== --- boost/type_traits/is_base_and_derived.hpp (revision 52308) +++ boost/type_traits/is_base_and_derived.hpp (working copy) @@ -133,7 +133,7 @@ template struct is_base_and_derived_impl2 { -#if BOOST_WORKAROUND(_MSC_FULL_VER, >= 140050000) +#if BOOST_WORKAROUND(BOOST_MSVC_FULL, >= 140050000) #pragma warning(push) #pragma warning(disable:6334) #endif @@ -156,7 +156,7 @@ BOOST_STATIC_CONSTANT(bool, value = sizeof(bd_helper::check_sig(Host(), 0)) == sizeof(type_traits::yes_type)); -#if BOOST_WORKAROUND(_MSC_FULL_VER, >= 140050000) +#if BOOST_WORKAROUND(BOOST_MSVC_FULL, >= 140050000) #pragma warning(pop) #endif }; Index: boost/type_traits/is_convertible.hpp =================================================================== --- boost/type_traits/is_convertible.hpp (revision 52308) +++ boost/type_traits/is_convertible.hpp (working copy) @@ -256,7 +256,7 @@ #ifdef BOOST_MSVC #pragma warning(push) #pragma warning(disable:4244) -#if BOOST_WORKAROUND(_MSC_FULL_VER, >= 140050000) +#if BOOST_WORKAROUND(BOOST_MSVC_FULL, >= 140050000) #pragma warning(disable:6334) #endif #endif Index: boost/type_traits/is_function.hpp =================================================================== --- boost/type_traits/is_function.hpp (revision 52308) +++ boost/type_traits/is_function.hpp (working copy) @@ -65,7 +65,7 @@ template struct is_function_impl { -#if BOOST_WORKAROUND(_MSC_FULL_VER, >= 140050000) +#if BOOST_WORKAROUND(BOOST_MSVC_FULL, >= 140050000) #pragma warning(push) #pragma warning(disable:6334) #endif @@ -74,7 +74,7 @@ bool, value = sizeof(::boost::type_traits::is_function_ptr_tester(t)) == sizeof(::boost::type_traits::yes_type) ); -#if BOOST_WORKAROUND(_MSC_FULL_VER, >= 140050000) +#if BOOST_WORKAROUND(BOOST_MSVC_FULL, >= 140050000) #pragma warning(pop) #endif }; Index: boost/type_traits/is_member_function_pointer.hpp =================================================================== --- boost/type_traits/is_member_function_pointer.hpp (revision 52308) +++ boost/type_traits/is_member_function_pointer.hpp (working copy) @@ -64,7 +64,7 @@ { template struct result_ { -#if BOOST_WORKAROUND(_MSC_FULL_VER, >= 140050000) +#if BOOST_WORKAROUND(BOOST_MSVC_FULL, >= 140050000) #pragma warning(push) #pragma warning(disable:6334) #endif @@ -75,7 +75,7 @@ bool, value = ( 1 == sizeof(::boost::type_traits::is_mem_fun_pointer_tester(self_type::make_t)) )); -#if BOOST_WORKAROUND(_MSC_FULL_VER, >= 140050000) +#if BOOST_WORKAROUND(BOOST_MSVC_FULL, >= 140050000) #pragma warning(pop) #endif }; Index: libs/python/src/converter/arg_to_python_base.cpp =================================================================== --- libs/python/src/converter/arg_to_python_base.cpp (revision 52308) +++ libs/python/src/converter/arg_to_python_base.cpp (working copy) @@ -15,7 +15,7 @@ { arg_to_python_base::arg_to_python_base( void const volatile* source, registration const& converters) -# if !defined(BOOST_MSVC) || BOOST_MSVC <= 1300 || _MSC_FULL_VER > 13102179 +# if !defined(BOOST_MSVC) || BOOST_MSVC <= 1300 || BOOST_MSVC_FULL > 13102179 : handle<> # else : m_ptr Index: libs/python/src/object/inheritance.cpp =================================================================== --- libs/python/src/object/inheritance.cpp (revision 52308) +++ libs/python/src/object/inheritance.cpp (working copy) @@ -5,7 +5,7 @@ #include #include #include -#if _MSC_FULL_VER >= 13102171 && _MSC_FULL_VER <= 13102179 +#if BOOST_MSVC_FULL >= 13102171 && BOOST_MSVC_FULL <= 13102179 # include #endif #include