libcxx fork for Darling build
Go to file
Eric Fiselier bfb46e486d Cleanup C++03 __invoke for Bullets 3 and 4.
The key changes in this patch are:

1. Remove the zero-argument overload in mem_fn. A member function must always
   be invoked with at least one argument, the class instance. The zero-argument
   operator()() in mem_fn would cause mem_fn to fail to compile when because
   the call to '__invoke(pm)' is not well formed.

2. Prevent evaluation of '__apply_cv<Tp, Ret>' when 'Ret' is a function type.
   'Ret' is a function type whenever 'Ret Tp::*' is a pointer to member function.
   Attempting to add cv and ref qualifiers to a function type can cause a hard
   compile error.

3. Remove the dummy overload __invoke(Rp Tp::*). It was present to help work
   around #1. It will be replaced with a different '__invoke' overload that
   represents a bad call to invoke.

After applying this patch the test func.wrap.func.inv/invoke.pass.cpp now
passes.


git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@243370 91177308-0d34-0410-b5e6-96231b3b80d8
2015-07-28 02:15:53 +00:00
cmake Fix building and testing libc++ with GCC. 2015-05-20 03:15:01 +00:00
include Cleanup C++03 __invoke for Bullets 3 and 4. 2015-07-28 02:15:53 +00:00
lib [libcxx] Add support for sanitizers on OS X. 2015-07-22 00:33:36 +00:00
src [libcxx] Add atomic_support.h header to src that handles needed atomic operations. 2015-07-07 00:27:16 +00:00
test Checking more __invoke tests. 2015-07-28 01:25:36 +00:00
utils cleanup comments in sym_check 2015-03-27 06:04:37 +00:00
www Update the status of the TS'es 2015-07-21 14:29:31 +00:00
.arcconfig Update Arcanist config to point to reviews.llvm.org 2014-06-10 18:29:36 +00:00
.gitignore [libc++] Refactor test components into modules. 2015-01-09 18:03:29 +00:00
CMakeLists.txt Enable and fix warnings during the build. 2015-07-18 20:40:46 +00:00
CREDITS.TXT Add self to CREDITS.txt 2015-02-26 00:48:22 +00:00
LICENSE.TXT Update copyright year to 2015. 2015-03-12 20:13:11 +00:00
Makefile Revert "Fix installheaders target's permissions" 2014-12-16 05:28:07 +00:00
TODO.TXT Cleanup result_of tests and fix issues with the C++03 result_of. 2015-06-13 08:25:24 +00:00