[libc++] shared_ptr deleter requirements (LWG 2802).
authorzoecarver <z.zoelec2@gmail.com>
Fri, 19 Feb 2021 05:31:07 +0000 (21:31 -0800)
committerzoecarver <z.zoelec2@gmail.com>
Fri, 19 Feb 2021 05:31:07 +0000 (21:31 -0800)
commit6a328c66d35c71d5e92be80659186de567b86e38
tree2eca85268db8e6d609c11c7efd242170df19f757
parent82b82b9430a7f73dbf4bc931917143ee09f48d8f
[libc++] shared_ptr deleter requirements (LWG 2802).

This patch implements 2802. Requires _Deleter to have call operator and be move constructible. Based on D62233.

Refs PR37637.

Differential Revision: https://reviews.llvm.org/D62274
libcxx/docs/Cxx1zStatusIssuesStatus.csv
libcxx/include/memory
libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/pointer_deleter.pass.cpp
libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/pointer_deleter_allocator.pass.cpp