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/func.wrap/func.wrap.func/func.wrap.func.con
Volodymyr Sapsai db0ba4480a [libcxx] func.wrap.func.con: Unset function before destroying anything
Be defensive against a reentrant std::function::operator=(nullptr_t), in case
the held function object has a non-trivial destructor.  Destroying the function
object in-place can lead to the destructor being called twice.

Patch by Duncan P. N. Exon Smith. C++03 support by Volodymyr Sapsai.

rdar://problem/32836603

Reviewers: EricWF, mclow.lists

Reviewed By: mclow.lists

Subscribers: cfe-commits, arphaman

Differential Revision: https://reviews.llvm.org/D34331


git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@330885 91177308-0d34-0410-b5e6-96231b3b80d8
8 years ago
..
F.pass.cpp Implement LWG 2393. Check for LValue-callability. 9 years ago
F_assign.pass.cpp Implement LWG 2393. Check for LValue-callability. 9 years ago
F_incomplete.pass.cpp Fix PR34298 - Allow std::function with an incomplete return type. 8 years ago
F_nullptr.pass.cpp Update all bug URL's to point to https://bugs.llvm.org/... 9 years ago
alloc.fail.cpp Implement http://wg21.link/p0302r1: Removing Allocator Support in std::function. These functions never worked, and as far as I know, no one ever called them. 9 years ago
alloc.pass.cpp Remove all usages of REQUIRES-ANY in the test suite. 9 years ago
alloc_F.fail.cpp [libcxx] [test] Untabify, NFC. 8 years ago
alloc_F.pass.cpp [libcxx] [test] In func.wrap.func.con/alloc_F.pass.cpp, fix REQUIRES whitespace. NFC. 8 years ago
alloc_function.fail.cpp [libcxx] [test] Untabify, NFC. 8 years ago
alloc_function.pass.cpp Remove all usages of REQUIRES-ANY in the test suite. 9 years ago
alloc_nullptr.fail.cpp Implement http://wg21.link/p0302r1: Removing Allocator Support in std::function. These functions never worked, and as far as I know, no one ever called them. 9 years ago
alloc_nullptr.pass.cpp Remove all usages of REQUIRES-ANY in the test suite. 9 years ago
alloc_rfunction.fail.cpp Implement http://wg21.link/p0302r1: Removing Allocator Support in std::function. These functions never worked, and as far as I know, no one ever called them. 9 years ago
alloc_rfunction.pass.cpp Remove all usages of REQUIRES-ANY in the test suite. 9 years ago
copy_assign.pass.cpp [libcxx][test] Silence -Wself-assign diagnostics 8 years ago
copy_move.pass.cpp func.wrap.func.con: Fix test comment 9 years ago
default.pass.cpp Move test into test/std subdirectory. 11 years ago
move_reentrant.pass.cpp [libcxx] func.wrap.func.con: Unset function before destroying anything 8 years ago
nullptr_t.pass.cpp Move test into test/std subdirectory. 11 years ago
nullptr_t_assign.pass.cpp [libcxx] Consolidate new/delete replacement in tests and disable it when using sanitizers. 11 years ago
nullptr_t_assign_reentrant.pass.cpp [libcxx] func.wrap.func.con: Unset function before destroying anything 8 years ago