Revert "Revert "Update aosp/master libcxx rebase to r263688""

This reverts commit 1d4a1edbc7.

Change-Id: I2909937fe582f2c5552bc86e7f4d2d5cff0de0aa
This commit is contained in:
Dan Austin
2016-06-08 22:25:43 +00:00
parent 1d4a1edbc7
commit ee226c05af
1396 changed files with 38992 additions and 11535 deletions

View File

@@ -40,6 +40,7 @@
#include <functional>
#include <type_traits>
#include <utility> // for std::move
#include <cassert>
struct NonCopyable {
@@ -171,6 +172,32 @@ void bullet_one_two_tests() {
test_b12<int volatile&&(NonCopyable&&) volatile &&, int volatile&&>(std::move(cl));
test_b12<int const volatile&&(NonCopyable&&) const volatile &&, int const volatile&&>(std::move(cl));
}
{
TestClass cl_obj(42);
std::reference_wrapper<TestClass> cl(cl_obj);
test_b12<int&(NonCopyable&&) &, int&>(cl);
test_b12<int const&(NonCopyable&&) const &, int const&>(cl);
test_b12<int volatile&(NonCopyable&&) volatile &, int volatile&>(cl);
test_b12<int const volatile&(NonCopyable&&) const volatile &, int const volatile&>(cl);
test_b12<int&(NonCopyable&&) &, int&>(std::move(cl));
test_b12<int const&(NonCopyable&&) const &, int const&>(std::move(cl));
test_b12<int volatile&(NonCopyable&&) volatile &, int volatile&>(std::move(cl));
test_b12<int const volatile&(NonCopyable&&) const volatile &, int const volatile&>(std::move(cl));
}
{
DerivedFromTestClass cl_obj(42);
std::reference_wrapper<DerivedFromTestClass> cl(cl_obj);
test_b12<int&(NonCopyable&&) &, int&>(cl);
test_b12<int const&(NonCopyable&&) const &, int const&>(cl);
test_b12<int volatile&(NonCopyable&&) volatile &, int volatile&>(cl);
test_b12<int const volatile&(NonCopyable&&) const volatile &, int const volatile&>(cl);
test_b12<int&(NonCopyable&&) &, int&>(std::move(cl));
test_b12<int const&(NonCopyable&&) const &, int const&>(std::move(cl));
test_b12<int volatile&(NonCopyable&&) volatile &, int volatile&>(std::move(cl));
test_b12<int const volatile&(NonCopyable&&) const volatile &, int const volatile&>(std::move(cl));
}
{
TestClass cl_obj(42);
TestClass *cl = &cl_obj;
@@ -216,6 +243,22 @@ void bullet_three_four_tests() {
test_b34<int volatile&&>(static_cast<Fn volatile&&>(cl));
test_b34<int const volatile&&>(static_cast<Fn const volatile&&>(cl));
}
{
typedef TestClass Fn;
Fn cl(42);
test_b34<int&>(std::reference_wrapper<Fn>(cl));
test_b34<int const&>(std::reference_wrapper<Fn const>(cl));
test_b34<int volatile&>(std::reference_wrapper<Fn volatile>(cl));
test_b34<int const volatile&>(std::reference_wrapper<Fn const volatile>(cl));
}
{
typedef DerivedFromTestClass Fn;
Fn cl(42);
test_b34<int&>(std::reference_wrapper<Fn>(cl));
test_b34<int const&>(std::reference_wrapper<Fn const>(cl));
test_b34<int volatile&>(std::reference_wrapper<Fn volatile>(cl));
test_b34<int const volatile&>(std::reference_wrapper<Fn const volatile>(cl));
}
{
typedef TestClass Fn;
Fn cl_obj(42);