Revert "Revert "Merge to upstream r304942.""

This reverts commit 38a0d5af7e.

Test: make checkbuild
Test: ./run_tests.py
Test: ./run_tests.py --bitness 64
This commit is contained in:
Dan Albert
2018-01-17 14:21:02 -08:00
parent 38a0d5af7e
commit c79549b70e
1102 changed files with 19092 additions and 14798 deletions

View File

@@ -17,10 +17,9 @@
#include <algorithm>
#include <cassert>
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
#include <memory>
#endif
#include "test_macros.h"
#include "test_iterators.h"
template <class Iter>
@@ -39,8 +38,7 @@ test()
assert(ia[5] == 4);
}
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
#if TEST_STD_VER >= 11
template <class Iter>
void
test1()
@@ -62,8 +60,7 @@ test1()
assert(*ia[4] == 3);
assert(*ia[5] == 4);
}
#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
#endif // TEST_STD_VER >= 11
int main()
{
@@ -72,12 +69,10 @@ int main()
test<random_access_iterator<int*> >();
test<int*>();
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
#if TEST_STD_VER >= 11
test1<forward_iterator<std::unique_ptr<int>*> >();
test1<bidirectional_iterator<std::unique_ptr<int>*> >();
test1<random_access_iterator<std::unique_ptr<int>*> >();
test1<std::unique_ptr<int>*>();
#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
#endif // TEST_STD_VER >= 11
}

View File

@@ -21,6 +21,8 @@
#include "test_iterators.h"
bool equalToTwo(int v) { return v == 2; }
template <class InIter, class OutIter>
void
test()
@@ -28,8 +30,8 @@ test()
int ia[] = {0, 1, 2, 3, 4, 2, 3, 4, 2};
const unsigned sa = sizeof(ia)/sizeof(ia[0]);
int ib[sa];
OutIter r = std::remove_copy_if(InIter(ia), InIter(ia+sa), OutIter(ib),
std::bind2nd(std::equal_to<int>(), 2));
OutIter r = std::remove_copy_if(InIter(ia), InIter(ia+sa),
OutIter(ib), equalToTwo);
assert(base(r) == ib + sa-3);
assert(ib[0] == 0);
assert(ib[1] == 1);

View File

@@ -18,10 +18,9 @@
#include <algorithm>
#include <functional>
#include <cassert>
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
#include <memory>
#endif
#include "test_macros.h"
#include "test_iterators.h"
#include "counting_predicates.hpp"
@@ -46,8 +45,7 @@ test()
assert(cp.count() == sa);
}
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
#if TEST_STD_VER >= 11
struct pred
{
bool operator()(const std::unique_ptr<int>& i) {return *i == 2;}
@@ -77,8 +75,7 @@ test1()
assert(*ia[4] == 3);
assert(*ia[5] == 4);
}
#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
#endif // TEST_STD_VER >= 11
int main()
{
@@ -87,12 +84,10 @@ int main()
test<random_access_iterator<int*> >();
test<int*>();
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
#if TEST_STD_VER >= 11
test1<forward_iterator<std::unique_ptr<int>*> >();
test1<bidirectional_iterator<std::unique_ptr<int>*> >();
test1<random_access_iterator<std::unique_ptr<int>*> >();
test1<std::unique_ptr<int>*>();
#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
#endif // TEST_STD_VER >= 11
}