[algorithm] Test failure in C++14
"clang++-3.4" -c -x c++ -std=c++1y -stdlib=libc++ -O0 -g -fno-inline -Wall -g -fPIC -DBOOST_ALL_NO_LIB=1 -DBOOST_TEST_DYN_LINK=1 -DBOOST_TEST_NO_AUTO_LINK=1 -I".." -o "/home/ben/development/boost/test/build/results/boost/bin.v2/libs/algorithm/test/is_permutation_test1.test/clang-linux-3.4~c14_libc++/debug/is_permutation_test1.o" "../libs/algorithm/test/is_permutation_test1.cpp" In file included from ../libs/algorithm/test/is_permutation_test1.cpp:13: ../boost/algorithm/cxx11/is_permutation.hpp:178:6: error: declaration conflicts with target of using declaration already in scope bool is_permutation ( ForwardIterator1 first1, ForwardIterator1 last1, ^ /usr/include/c++/v1/algorithm:1374:1: note: target of using declaration is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1, ^ ../boost/algorithm/cxx11/is_permutation.hpp:104:12: note: using declaration using std::is_permutation; // Section 25.2.12 ^ ../boost/algorithm/cxx11/is_permutation.hpp:205:6: error: declaration conflicts with target of using declaration already in scope bool is_permutation ( ForwardIterator1 first1, ForwardIterator1 last1, ^ /usr/include/c++/v1/algorithm:1361:1: note: target of using declaration is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1, ^ ../boost/algorithm/cxx11/is_permutation.hpp:104:12: note: using declaration using std::is_permutation; // Section 25.2.12 ^ 2 errors generated. I haven't looked in detail, but it looks like those two overloads were added in C++14 and need guarding with a suitable #if __cplusplus >= C++1Y_version_here Ben
On Dec 10, 2013, at 11:34 PM, Ben Pope
"clang++-3.4" -c -x c++ -std=c++1y -stdlib=libc++ -O0 -g -fno-inline -Wall -g -fPIC -DBOOST_ALL_NO_LIB=1 -DBOOST_TEST_DYN_LINK=1 -DBOOST_TEST_NO_AUTO_LINK=1 -I".." -o "/home/ben/development/boost/test/build/results/boost/bin.v2/libs/algorithm/test/is_permutation_test1.test/clang-linux-3.4~c14_libc++/debug/is_permutation_test1.o" "../libs/algorithm/test/is_permutation_test1.cpp"
In file included from ../libs/algorithm/test/is_permutation_test1.cpp:13: ../boost/algorithm/cxx11/is_permutation.hpp:178:6: error: declaration conflicts with target of using declaration already in scope bool is_permutation ( ForwardIterator1 first1, ForwardIterator1 last1, ^ /usr/include/c++/v1/algorithm:1374:1: note: target of using declaration is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1, ^ ../boost/algorithm/cxx11/is_permutation.hpp:104:12: note: using declaration using std::is_permutation; // Section 25.2.12 ^ ../boost/algorithm/cxx11/is_permutation.hpp:205:6: error: declaration conflicts with target of using declaration already in scope bool is_permutation ( ForwardIterator1 first1, ForwardIterator1 last1, ^ /usr/include/c++/v1/algorithm:1361:1: note: target of using declaration is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1, ^ ../boost/algorithm/cxx11/is_permutation.hpp:104:12: note: using declaration using std::is_permutation; // Section 25.2.12 ^ 2 errors generated.
I haven't looked in detail, but it looks like those two overloads were added in C++14 and need guarding with a suitable #if __cplusplus >= C++1Y_version_here
Yep - that’s what’s happening here. Also, there are two implementations of the same routines; one in cxx11/is_permutation.hpp, and the other in cxx14/is_permutation.hpp. I’ll clean that up - thanks for letting me know. — Marshall
On Saturday, December 14, 2013 11:48 PM, Marshall Clow wrote:
On Dec 10, 2013, at 11:34 PM, Ben Pope
wrote: I haven't looked in detail, but it looks like those two overloads were added in C++14 and need guarding with a suitable #if __cplusplus >= C++1Y_version_here
Yep - that’s what’s happening here.
Also, there are two implementations of the same routines; one in cxx11/is_permutation.hpp, and the other in cxx14/is_permutation.hpp.
I’ll clean that up - thanks for letting me know.
Ping. Ben
On Feb 25, 2014, at 7:57 PM, Ben Pope
On Saturday, December 14, 2013 11:48 PM, Marshall Clow wrote:
On Dec 10, 2013, at 11:34 PM, Ben Pope
wrote: I haven't looked in detail, but it looks like those two overloads were added in C++14 and need guarding with a suitable #if __cplusplus >= C++1Y_version_here
Yep - that’s what’s happening here.
Also, there are two implementations of the same routines; one in cxx11/is_permutation.hpp, and the other in cxx14/is_permutation.hpp.
I’ll clean that up - thanks for letting me know.
Ping.
I think I’ve got this done. If you see any more issues, please let me know. — Marshall
On Tuesday, March 25, 2014 01:28 AM, Marshall Clow wrote:
On Feb 25, 2014, at 7:57 PM, Ben Pope
wrote: On Saturday, December 14, 2013 11:48 PM, Marshall Clow wrote:
On Dec 10, 2013, at 11:34 PM, Ben Pope
wrote: I haven't looked in detail, but it looks like those two overloads were added in C++14 and need guarding with a suitable #if __cplusplus >= C++1Y_version_here
Yep - that’s what’s happening here.
Also, there are two implementations of the same routines; one in cxx11/is_permutation.hpp, and the other in cxx14/is_permutation.hpp.
I’ll clean that up - thanks for letting me know.
Ping.
I think I’ve got this done. If you see any more issues, please let me know.
Looking good on development. Ben
participants (3)
-
Ben Pope
-
Jonathan Wakely
-
Marshall Clow