diff --git a/.travis.yml b/.travis.yml index a409e36..ee2b3ad 100644 --- a/.travis.yml +++ b/.travis.yml @@ -25,7 +25,6 @@ install: - git submodule init libs/static_assert - git submodule init libs/type_traits - git submodule init tools/build - - git submodule init tools/inspect - git submodule update - cd libs/core - git checkout -q $TRAVIS_COMMIT diff --git a/appveyor.yml b/appveyor.yml index d9d2ca5..03c3982 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -21,7 +21,6 @@ install: - git submodule init libs/static_assert - git submodule init libs/type_traits - git submodule init tools/build - - git submodule init tools/inspect - git submodule update - cd libs\core - git checkout -q %APPVEYOR_REPO_COMMIT% diff --git a/include/boost/detail/iterator.hpp b/include/boost/detail/iterator.hpp index c2e8f1e..2498ef4 100644 --- a/include/boost/detail/iterator.hpp +++ b/include/boost/detail/iterator.hpp @@ -9,6 +9,9 @@ // This header is obsolete and will be deprecated. #include +#if defined(__SUNPRO_CC) && (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) +#include +#endif namespace boost { @@ -19,6 +22,16 @@ namespace detail using std::iterator_traits; using std::distance; +#if defined(__SUNPRO_CC) && (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) +// std::distance from stlport with Oracle compiler 12.4 and 12.5 fails to deduce template parameters +// when one of the arguments is an array and the other one is a pointer. +template< typename T, std::size_t N > +inline typename std::iterator_traits< T* >::difference_type distance(T (&left)[N], T* right) +{ + return std::distance(static_cast< T* >(left), right); +} +#endif + } // namespace detail } // namespace boost diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index ba8a83a..f40577d 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -6,6 +6,7 @@ # See accompanying file LICENSE_1_0.txt or copy at # http://www.boost.org/LICENSE_1_0.txt +import modules ; import testing ; run addressof_test.cpp ; @@ -92,3 +93,6 @@ compile-fail scoped_enum_compile_fail_conv_from_int.cpp ; compile-fail scoped_enum_compile_fail_conv_to_int.cpp ; run underlying_type.cpp ; + +use-project /boost/core/swap : ./swap ; +build-project ./swap ;