diff --git a/include/boost/python/converter/rvalue_from_python_data.hpp b/include/boost/python/converter/rvalue_from_python_data.hpp index 16c9d44b..7f512830 100644 --- a/include/boost/python/converter/rvalue_from_python_data.hpp +++ b/include/boost/python/converter/rvalue_from_python_data.hpp @@ -96,7 +96,7 @@ struct rvalue_from_python_data : rvalue_from_python_storage && (!defined(__EDG_VERSION__) || __EDG_VERSION__ >= 245) \ && (!defined(__DECCXX_VER) || __DECCXX_VER > 60590014) // This must always be a POD struct with m_data its first member. - BOOST_STATIC_ASSERT(offsetof(rvalue_from_python_storage,stage1) == 0); + BOOST_STATIC_ASSERT(BOOST_PYTHON_OFFSETOF(rvalue_from_python_storage,stage1) == 0); # endif // The usual constructor diff --git a/include/boost/python/detail/config.hpp b/include/boost/python/detail/config.hpp index 16948010..fb263dbe 100644 --- a/include/boost/python/detail/config.hpp +++ b/include/boost/python/detail/config.hpp @@ -97,7 +97,7 @@ # define BOOST_PYTHON_EXPORT_CLASS_TEMPLATE(instantiation) struct ThIsTyPeNeVeRuSeD #endif -#if (defined(__DECCXX_VER) && __DECCXX_VER <= 60590014) +#if (defined(__DECCXX_VER) && __DECCXX_VER <= 60590031) // Replace broken Tru64/cxx offsetof macro # define BOOST_PYTHON_OFFSETOF(s_name, s_member) \ ((size_t)__INTADDR__(&(((s_name *)0)->s_member))) diff --git a/include/boost/python/detail/string_literal.hpp b/include/boost/python/detail/string_literal.hpp index dc8b0791..3b3c4bd9 100644 --- a/include/boost/python/detail/string_literal.hpp +++ b/include/boost/python/detail/string_literal.hpp @@ -27,7 +27,7 @@ struct is_string_literal BOOST_STATIC_CONSTANT(bool, value = true); }; -# if (defined(__DECCXX_VER) && __DECCXX_VER <= 60590014) \ +# if (defined(__DECCXX_VER) && __DECCXX_VER <= 60590031) \ || (defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 730) // This compiler mistakenly gets the type of string literals as char* // instead of char[NN].