You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
libcxx_old/test/libcxx/utilities/function.objects/func.require
Eric Fiselier 3f10018902 Make move and forward work in C++03.
These functions are key to allowing the use of rvalues and variadics
in C++03 mode. Everything works the same as in C++11, except for one
tangentially related case:

struct T {
  T(T &&) = default;
};

In C++11, T has a deleted copy constructor. But in C++03 Clang gives
it both a move and a copy constructor. This seems reasonable enough
given the extensions it's using.

The other changes in this patch were the minimal set required
to keep the tests passing after the move/forward change. Most notably
the removal of the `__rv<unique_ptr>` hack that was present
in an attempt to make unique_ptr move only without language support.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@364063 91177308-0d34-0410-b5e6-96231b3b80d8
6 years ago
..
bullet_1_2_3.pass.cpp Support tests in freestanding 6 years ago
bullet_4_5_6.pass.cpp Make move and forward work in C++03. 6 years ago
bullet_7.pass.cpp Support tests in freestanding 6 years ago
invoke.pass.cpp Support tests in freestanding 6 years ago
invoke_helpers.h Update more file headers across all of the LLVM projects in the monorepo 6 years ago