Revert "Revert "Update aosp/master libcxx rebase to r263688""
This reverts commit 1d4a1edbc7.
Change-Id: I2909937fe582f2c5552bc86e7f4d2d5cff0de0aa
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user