From aa20ce7d2c5c402ef84396153fac2ba58bb4fc93 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Thu, 25 Aug 2005 16:27:28 +0000 Subject: [PATCH] Large patch from Ulrich Eckhardt to fix support for EVC++ 4. [SVN r30670] --- include/boost/python/detail/config.hpp | 10 +++++----- include/boost/python/detail/force_instantiate.hpp | 2 +- include/boost/python/handle.hpp | 2 +- include/boost/python/object/forward.hpp | 4 ++-- include/boost/python/object_core.hpp | 6 +++--- include/boost/python/proxy.hpp | 2 +- include/boost/python/suite/indexing/indexing_suite.hpp | 2 +- 7 files changed, 14 insertions(+), 14 deletions(-) diff --git a/include/boost/python/detail/config.hpp b/include/boost/python/detail/config.hpp index 5ca5adb8..9fe96f76 100644 --- a/include/boost/python/detail/config.hpp +++ b/include/boost/python/detail/config.hpp @@ -29,14 +29,14 @@ # endif # if defined(BOOST_MSVC) -# if _MSC_VER <= 1200 +# if _MSC_VER < 1300 # define BOOST_MSVC6_OR_EARLIER 1 # endif -# pragma warning (disable : 4786) // disable truncated debug symbols -# pragma warning (disable : 4251) // disable exported dll function -# pragma warning (disable : 4800) //'int' : forcing value to bool 'true' or 'false' -# pragma warning (disable : 4275) // non dll-interface class +# pragma warning (disable : 4786) // disable truncated debug symbols +# pragma warning (disable : 4251) // disable exported dll function +# pragma warning (disable : 4800) //'int' : forcing value to bool 'true' or 'false' +# pragma warning (disable : 4275) // non dll-interface class # elif defined(__ICL) && __ICL < 600 // Intel C++ 5 diff --git a/include/boost/python/detail/force_instantiate.hpp b/include/boost/python/detail/force_instantiate.hpp index e9c05693..63e28749 100755 --- a/include/boost/python/detail/force_instantiate.hpp +++ b/include/boost/python/detail/force_instantiate.hpp @@ -10,7 +10,7 @@ namespace boost { namespace python { namespace detail { // Allows us to force the argument to be instantiated without // incurring unused variable warnings -# if !defined(BOOST_MSVC) || BOOST_MSVC == 1200 || _MSC_FULL_VER > 13102196 +# if !defined(BOOST_MSVC) || BOOST_MSVC < 1300 || _MSC_FULL_VER > 13102196 template inline void force_instantiate(T const&) {} diff --git a/include/boost/python/handle.hpp b/include/boost/python/handle.hpp index b61b9ddd..461a219a 100755 --- a/include/boost/python/handle.hpp +++ b/include/boost/python/handle.hpp @@ -87,7 +87,7 @@ class handle return *this; } -#if !defined(BOOST_MSVC) || (BOOST_MSVC > 1200) +#if !defined(BOOST_MSVC) || (BOOST_MSVC >= 1300) template handle& operator=(handle const & r) // never throws diff --git a/include/boost/python/object/forward.hpp b/include/boost/python/object/forward.hpp index c62cac9f..2faf3321 100644 --- a/include/boost/python/object/forward.hpp +++ b/include/boost/python/object/forward.hpp @@ -12,7 +12,7 @@ # include # include # include -# if BOOST_WORKAROUND(BOOST_MSVC, == 1200) +# if BOOST_WORKAROUND(BOOST_MSVC, < 1300) # include # include # include @@ -42,7 +42,7 @@ struct reference_to_value template struct forward : mpl::if_< -# if BOOST_WORKAROUND(BOOST_MSVC, == 1200) +# if BOOST_WORKAROUND(BOOST_MSVC, < 1300) // vc6 chokes on unforwarding enums nested in classes mpl::and_< is_scalar diff --git a/include/boost/python/object_core.hpp b/include/boost/python/object_core.hpp index b7d30f71..6aa5df21 100755 --- a/include/boost/python/object_core.hpp +++ b/include/boost/python/object_core.hpp @@ -86,7 +86,7 @@ namespace api class object_operators : public def_visitor { protected: -# if !defined(BOOST_MSVC) || BOOST_MSVC > 1200 +# if !defined(BOOST_MSVC) || BOOST_MSVC >= 1300 typedef object const& object_cref; # else typedef object object_cref; @@ -300,7 +300,7 @@ namespace api template explicit object( T const& x -# if BOOST_WORKAROUND(BOOST_MSVC, == 1200) +# if BOOST_WORKAROUND(BOOST_MSVC, < 1300) // use some SFINAE to un-confuse MSVC about its // copy-initialization ambiguity claim. , typename mpl::if_,int&,int>::type* = 0 @@ -331,7 +331,7 @@ namespace api inline explicit derived(python::detail::new_non_null_reference p) \ : base(p) {} -# if !defined(BOOST_MSVC) || BOOST_MSVC > 1200 +# if !defined(BOOST_MSVC) || BOOST_MSVC >= 1300 # define BOOST_PYTHON_FORWARD_OBJECT_CONSTRUCTORS BOOST_PYTHON_FORWARD_OBJECT_CONSTRUCTORS_ # else // MSVC6 has a bug which causes an explicit template constructor to diff --git a/include/boost/python/proxy.hpp b/include/boost/python/proxy.hpp index a01a08fe..a956eac1 100755 --- a/include/boost/python/proxy.hpp +++ b/include/boost/python/proxy.hpp @@ -15,7 +15,7 @@ class proxy : public object_operators > { typedef typename Policies::key_type key_type; -# if !defined(BOOST_MSVC) || BOOST_MSVC > 1200 +# if !defined(BOOST_MSVC) || BOOST_MSVC >= 1300 typedef proxy const& assignment_self; # else typedef proxy assignment_self; diff --git a/include/boost/python/suite/indexing/indexing_suite.hpp b/include/boost/python/suite/indexing/indexing_suite.hpp index 078a317b..b7de0ee4 100644 --- a/include/boost/python/suite/indexing/indexing_suite.hpp +++ b/include/boost/python/suite/indexing/indexing_suite.hpp @@ -125,7 +125,7 @@ namespace boost { namespace python { typedef detail::container_element container_element_t; -#if BOOST_WORKAROUND(BOOST_MSVC, == 1200) +#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) struct return_policy : return_internal_reference<> {}; #else typedef return_internal_reference<> return_policy;