[PATCH] D71301: [clang][IFS] Prevent Clang-IFS from Leaking symbols from inside a block.
Puyan Lotfi via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed Dec 11 19:33:50 PST 2019
plotfi added a comment.
In D71301#1778834 <https://reviews.llvm.org/D71301#1778834>, @compnerd wrote:
> Should probably add a check for `__block` variables.
I looked into it, I am not sure if anything special needs to be done for block. ie:
echo "void f() { __block int x = 42; void (^sum)(int) = ^(int y) { x = x + y; }; }" | clang -x c -fblocks -o - - -c | llvm-nm -
U _Block_object_assignecho "void f() { __block int x = 42; void (^sum)(int) = ^(int y) { x = x + y; }; }" | clang -x c -fblocks -o - - -c | llvm-nm -
U _Block_object_assign
U _Block_object_dispose
U _NSConcreteStackBlock
0000000000000000 r __block_descriptor_tmp
00000000000000c0 W __copy_helper_block_8_32r
00000000000000f0 W __destroy_helper_block_8_32r
0000000000000090 t __f_block_invoke
0000000000000000 T
U _Block_object_dispose
U _NSConcreteStackBlock
0000000000000000 r __block_descriptor_tmp
00000000000000c0 W __copy_helper_block_8_32r
00000000000000f0 W __destroy_helper_block_8_32r
0000000000000090 t __f_block_invoke
0000000000000000 T
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D71301/new/
https://reviews.llvm.org/D71301
More information about the cfe-commits
mailing list