On Sun, Aug 6, 2017 at 3:59 PM, Raffi Enficiaud via Boost < boost@lists.boost.org> wrote:
Le 07.08.17 à 00:04, Tom Westerhout via Boost a écrit :
On 06/08/2017, Marshall Clow via Boost
wrote: The release candidates for the 1.65.0 release are now available at:
https://dl.bintray.com/boostorg/release/1.65.0/source/
The SHA256 checksums are as follows:
0f1352a7738f24b39b564263b66a8c38bc7d984b57406396400474602e961ad3 boost_1_65_0_rc1.7z c2a022d4d6706668ea94b8e799a76e38929e0e34db884ef451fa9d5db6103238 boost_1_65_0_rc1.tar.bz2 7e84a27276792209d48357a0671348768dbf4dd1d4eadbf01b855274208f148d boost_1_65_0_rc1.tar.gz 537c42771b2351b4ea3eb8e9a13a3423edcd155323d2c14c4606cd23fc22d09f boost_1_65_0_rc1.zip
As always, the release managers would appreciate it if you download the candidate of your choice and give building it a try. Please report both success and failure, and anything else that is noteworthy.
Sure. I've tried building on Linux 3.16 with GCC-7.1.0 and Clang-trunk:
* Clang-trunk (-std=c++1z -stdlib=libc++)
1) Boost.Test failed. There's no bind1st in std:: anymore. Neither is there a random_shuffle.
The calls to random_shuffle are protected by #ifdef BOOST_NO_CXX98_RANDOM_SHUFFLE
and the ones of bind1st by #ifdef BOOST_NO_CXX98_BINDERS
Those preprocessor checks looked ok to me, what am I missing?
As a test, I added the following lines to libs/config/include/boost/config/stdlib/libcpp.hpp (after line 98): #if (_LIBCPP_VERSION > 4000) && (__cplusplus > 201402L) && !defined(_LIBCPP_ENABLE_CXX17_REMOVED_RANDOM_SHUFFLE) # define BOOST_NO_CXX98_RANDOM_SHUFFLE #endif #if (_LIBCPP_VERSION > 4000) && (__cplusplus > 201402L) && !defined(_LIBCPP_ENABLE_CXX17_REMOVED_RANDOM_SHUFFLE) # define BOOST_NO_CXX98_BINDERS #endif and the number of failures dropped quite a bit (66 to 23) There was still few Boost.Test failures, though: clang-darwin.compile.c++ bin.v2/libs/test/build/clang-darwin-tot1z/release/threading-multi/unit_test_parameters.o In file included from libs/test/src/unit_test_parameters.cpp:16: In file included from ./boost/test/impl/unit_test_parameters.ipp:39: In file included from ./boost/test/utils/runtime/cla/parser.hpp:24: ./boost/test/utils/algorithm.hpp:118:42: error: no member named 'bind1st' in namespace 'std' if( std::find_if( first2, last2, BOOST_TEST_BIND1ST( pred, *first1 ) ) == last2 ) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./boost/test/utils/algorithm.hpp:25:38: note: expanded from macro 'BOOST_TEST_BIND1ST' #define BOOST_TEST_BIND1ST(F,A) std::bind1st( (F), (A) ) ~~~~~^ ./boost/test/utils/algorithm.hpp:168:60: error: no member named 'bind1st' in namespace 'std' while( --it1 != first1 && std::find_if( first2, last2, BOOST_TEST_BIND1ST( pred, *it1 ) ) == last2 ) {} ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./boost/test/utils/algorithm.hpp:25:38: note: expanded from macro 'BOOST_TEST_BIND1ST' #define BOOST_TEST_BIND1ST(F,A) std::bind1st( (F), (A) ) ~~~~~^ ./boost/test/utils/algorithm.hpp:170:58: error: no member named 'bind1st' in namespace 'std' return it1 == first1 && std::find_if( first2, last2, BOOST_TEST_BIND1ST( pred, *it1 ) ) == last2 ? last1 : it1; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./boost/test/utils/algorithm.hpp:25:38: note: expanded from macro 'BOOST_TEST_BIND1ST' #define BOOST_TEST_BIND1ST(F,A) std::bind1st( (F), (A) ) ~~~~~^ ./boost/test/utils/algorithm.hpp:215:60: error: no member named 'bind1st' in namespace 'std' while( --it1 != first1 && std::find_if( first2, last2, BOOST_TEST_BIND1ST( pred, *it1 ) ) != last2 ) {} ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./boost/test/utils/algorithm.hpp:25:38: note: expanded from macro 'BOOST_TEST_BIND1ST' #define BOOST_TEST_BIND1ST(F,A) std::bind1st( (F), (A) ) ~~~~~^ ./boost/test/utils/algorithm.hpp:217:58: error: no member named 'bind1st' in namespace 'std' return it1 == first1 && std::find_if( first2, last2, BOOST_TEST_BIND1ST( pred, *it1 ) ) == last2 ? last1 : it1; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./boost/test/utils/algorithm.hpp:25:38: note: expanded from macro 'BOOST_TEST_BIND1ST' #define BOOST_TEST_BIND1ST(F,A) std::bind1st( (F), (A) ) ~~~~~^ 5 errors generated. "/Sources/LLVM/bin/bin/clang++" -x c++ -Wno-c99-extensions -Wno-variadic-macros -std=c++1z -stdlib=libc++ -I /Sources/LLVM/llvm/projects/libcxx -O3 -O3 -Wno-inline -Wall -pedantic -DBOOST_ALL_NO_LIB=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_SYSTEM_NO_DEPRECATED -DBOOST_TEST_DYN_LINK=1 -DBOOST_TIMER_DYN_LINK=1 -DNDEBUG -I"." -c -o "bin.v2/libs/test/build/clang-darwin-tot1z/release/threading-multi/unit_test_parameters.o" "libs/test/src/unit_test_parameters.cpp" ...failed clang-darwin.compile.c++ bin.v2/libs/test/build/clang-darwin-tot1z/release/threading-multi/unit_test_parameters.o... -- and -- clang-darwin.compile.c++ bin.v2/libs/test/build/clang-darwin-tot1z/release/threading-multi/framework.o In file included from libs/test/src/framework.cpp:16: ./boost/test/impl/framework.ipp:745:30: error: no member named 'random_shuffle' in namespace 'std' std::random_shuffle( children_with_the_same_rank.begin(), children_with_the_same_rank.end(), rand_gen ); ~~~~~^ 1 error generated. "/Sources/LLVM/bin/bin/clang++" -x c++ -Wno-c99-extensions -Wno-variadic-macros -std=c++1z -stdlib=libc++ -I /Sources/LLVM/llvm/projects/libcxx -O3 -O3 -Wno-inline -Wall -pedantic -DBOOST_ALL_NO_LIB=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_SYSTEM_NO_DEPRECATED -DBOOST_TEST_DYN_LINK=1 -DBOOST_TIMER_DYN_LINK=1 -DNDEBUG -I"." -c -o "bin.v2/libs/test/build/clang-darwin-tot1z/release/threading-multi/framework.o" "libs/test/src/framework.cpp" ...failed clang-darwin.compile.c++ bin.v2/libs/test/build/clang-darwin-tot1z/release/threading-multi/framework.o... These *may* (I haven't traced it yet) be due to the configuration header didn't get included in this case. -- Marshall