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



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to