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.
libcxx/test/std/utilities/function.objects
Tom Stellard 1496b0e710 Merging r312892:
------------------------------------------------------------------------
r312892 | ericwf | 2017-09-10 16:41:20 -0700 (Sun, 10 Sep 2017) | 10 lines

Fix PR34298 - Allow std::function with an incomplete return type.

This patch fixes llvm.org/PR34298. Previously libc++ incorrectly evaluated
the __invokable trait via the converting constructor `function(Tp)` [with Tp = std::function]
whenever the copy constructor or copy assignment operator
was required. This patch further constrains that constructor to short
circut before evaluating the troublesome SFINAE when `Tp` matches
std::function.

The original patch is from Alex Lorenz.
------------------------------------------------------------------------

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/branches/release_50@318835 91177308-0d34-0410-b5e6-96231b3b80d8
8 years ago
..
arithmetic.operations [libcxx] [test] Fix MSVC warning C4244 "conversion from 'X' to 'Y', possible loss of data", part 2/7. 9 years ago
bind Update all bug URL's to point to https://bugs.llvm.org/... 9 years ago
bitwise.operations [libcxx] [test] Replace _LIBCPP_STD_VER with TEST_STD_VER. 9 years ago
comparisons Enable the -Wsign-compare warning to better support MSVC 9 years ago
func.def Move test into test/std subdirectory. 11 years ago
func.invoke Add void_t and invoke feature test macros 9 years ago
func.memfn Replace __cplusplus comparisons and dialect __has_feature checks with TEST_STD_VER. 10 years ago
func.not_fn Remove usages of _LIBCPP_MSVC which is never defined 9 years ago
func.require Move INVOKE tests into test/libcxx sub-tree. 10 years ago
func.wrap Merging r312892: 8 years ago
logical.operations [libcxx] [test] Replace _LIBCPP_STD_VER with TEST_STD_VER. 9 years ago
negators In C++03, a bunch of the arithmetic/logical/comparison functors (such as negate/bit_not.pass/logical_not) were defined as deriving from unary_funtion. That restriction was removed in C++11, but the tests still check for this. Change the test to look for the embedded types first_argument/second_argument/result_type. No change to the library, just more standards-compliant tests. Thanks to STL @ Microsoft for the suggestion. 11 years ago
refwrap Cleanup test issues reported by STL @ Microsoft. 9 years ago
unord.hash Can't test for noexcept on C++03; std::hash<nullptr_t> isn't available until C++17 9 years ago