Index: boost/python/detail/caller.hpp =================================================================== --- boost/python/detail/caller.hpp (revision 65000) +++ boost/python/detail/caller.hpp (working copy) @@ -52,7 +52,7 @@ inline unsigned arity(PyObject* const& args_) { - return PyTuple_GET_SIZE(args_); + return static_cast(PyTuple_GET_SIZE(args_)); } // This "result converter" is really just used as Index: boost/python/suite/indexing/detail/indexing_suite_detail.hpp =================================================================== --- boost/python/suite/indexing/detail/indexing_suite_detail.hpp (revision 65000) +++ boost/python/suite/indexing/detail/indexing_suite_detail.hpp (working copy) @@ -602,7 +602,7 @@ else { long from = extract( slice->start); if (from < 0) // Negative slice index - from += max_index; + from += long(max_index); if (from < 0) // Clip lower bounds to zero from = 0; from_ = boost::numeric_cast(from); @@ -616,7 +616,7 @@ else { long to = extract( slice->stop); if (to < 0) - to += max_index; + to += long(max_index); if (to < 0) to = 0; to_ = boost::numeric_cast(to); Index: boost/python/suite/indexing/vector_indexing_suite.hpp =================================================================== --- boost/python/suite/indexing/vector_indexing_suite.hpp (revision 65000) +++ boost/python/suite/indexing/vector_indexing_suite.hpp (working copy) @@ -173,7 +173,7 @@ { long index = i(); if (index < 0) - index += DerivedPolicies::size(container); + index += long(DerivedPolicies::size(container)); if (index >= long(container.size()) || index < 0) { PyErr_SetString(PyExc_IndexError, "Index out of range");