[libc++] Fix std::function's handling of blocks under Objc ARC
authorLouis Dionne <ldionne.2@gmail.com>
Tue, 11 Oct 2022 18:53:14 +0000 (14:53 -0400)
committerLouis Dionne <ldionne.2@gmail.com>
Mon, 17 Oct 2022 22:36:08 +0000 (18:36 -0400)
commit0e4802bf45952b1120c52d4d1bf6bfa2800fd102
tree4ffde945f8603d9f69b4d39667f8d0a6c4d1d44c
parentdd9afdbb2ab47ad09e36c0afc94049285b474264
[libc++] Fix std::function's handling of blocks under Objc ARC

Previously, some uses of std::function with blocks would crash when ARC was enabled.

rdar://100907096

Differential Revision: https://reviews.llvm.org/D135706
libcxx/include/__functional/function.h
libcxx/test/libcxx/utilities/function.objects/func.blocks.arc.pass.mm [new file with mode: 0644]
libcxx/test/libcxx/utilities/function.objects/func.blocks.pass.cpp [moved from libcxx/test/libcxx/utilities/function.objects/func.blocks.sh.cpp with 98% similarity]