File tree Expand file tree Collapse file tree 1 file changed +15
-0
lines changed
include/boost/python/suite/indexing/detail Expand file tree Collapse file tree 1 file changed +15
-0
lines changed Original file line number Diff line number Diff line change 1111# include < boost/get_pointer.hpp>
1212# include < boost/detail/binary_search.hpp>
1313# include < boost/numeric/conversion/cast.hpp>
14+ # include < boost/detail/workaround.hpp>
15+ # include < boost/config.hpp>
1416# include < vector>
1517# include < map>
1618#include < iostream>
@@ -590,7 +592,15 @@ namespace boost { namespace python { namespace detail {
590592 from = 0 ;
591593 if (from > max_index) // Clip upper bounds to max_index.
592594 from = max_index;
595+
596+ // agurt 21/sep/04: here and below -- MSVC 6.x ICEs in 'vector_indexing_suite.cpp'
597+ // unless we get skip 'boost::numeric_cast' layer and directly invoke the
598+ // underlaying convertor's method
599+ #if !BOOST_WORKAROUND(BOOST_MSVC, < 1300)
593600 from_ = boost::numeric_cast<Index>(from);
601+ #else
602+ from_ = boost::numeric::converter<Index,long >::convert (from);
603+ #endif
594604 }
595605
596606 if (Py_None == slice->stop ) {
@@ -604,7 +614,12 @@ namespace boost { namespace python { namespace detail {
604614 to = 0 ;
605615 if (to > max_index)
606616 to = max_index;
617+
618+ #if !BOOST_WORKAROUND(BOOST_MSVC, < 1300)
607619 to_ = boost::numeric_cast<Index>(to);
620+ #else
621+ to_ = boost::numeric::converter<Index,long >::convert (to);
622+ #endif
608623 }
609624 }
610625
You can’t perform that action at this time.
0 commit comments