llvm-project/libcxx
Volodymyr Sapsai aa208791bb [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

llvm-svn: 330885
2018-04-25 23:38:41 +00:00
..
benchmarks Implement filesystem NB comments, relative paths, and related issues. 2018-04-02 23:03:41 +00:00
cmake Revert "[CMake] Use custom command and target to install libc++ headers" 2018-04-09 04:36:04 +00:00
docs Fix typos. 2018-02-13 08:12:00 +00:00
fuzzing Wrote my own version of is_permutation; that was dominating the timings 2018-01-19 03:17:45 +00:00
include [libcxx] func.wrap.func.con: Unset function before destroying anything 2018-04-25 23:38:41 +00:00
lib Revert "[CMake] Use custom command and target to install libc++ headers" 2018-04-09 04:36:04 +00:00
src Fix locale test data for GLIBC 2.27 and newer. 2018-04-04 04:00:14 +00:00
test [libcxx] func.wrap.func.con: Unset function before destroying anything 2018-04-25 23:38:41 +00:00
utils Avoid Clang error about throwing _LIBCPP_ASSERT in noexcept function. 2018-03-22 23:01:08 +00:00
www Mark <span> as "In progress" 2018-04-06 04:43:27 +00:00
.arcconfig [libcxx] Set up .arcconfig to point to new Diffusion CXX repository 2017-12-04 17:55:28 +00:00
.clang-format Make clang-format use C++03 syntax 2017-04-15 02:45:43 +00:00
.gitignore Implement N4606 optional 2016-10-12 07:46:20 +00:00
CMakeLists.txt [CMake] Set the default ABI version for Fuchsia in CMake as well 2018-04-13 01:59:15 +00:00
CREDITS.TXT Try again, this time with the correct address 2017-12-29 19:26:53 +00:00
LICENSE.TXT Update year to 2017 2017-01-03 11:20:43 +00:00
NOTES.TXT Revert "[CMake] Use custom command and target to install libc++ headers" 2018-04-09 04:36:04 +00:00
TODO.TXT Add list of filesystem NB comments to TODO.TXT so they can be tracked separately 2017-03-06 21:23:36 +00:00
appveyor-reqs-install.cmd Update Clang version on Appveyor bots 2018-04-04 04:33:09 +00:00
appveyor.yml Rename Appveyor install helper script. 2017-05-10 02:43:02 +00:00