]> granicus.if.org Git - clang/commitdiff
reconcile missing typos & delete obsolete pre-SnowLeopard section w.r.t. prior reposi...
authorBlaine Garst <blaine@apple.com>
Wed, 27 Oct 2010 21:22:46 +0000 (21:22 +0000)
committerBlaine Garst <blaine@apple.com>
Wed, 27 Oct 2010 21:22:46 +0000 (21:22 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117492 91177308-0d34-0410-b5e6-96231b3b80d8

docs/Block-ABI-Apple.txt

index dd1203605333b99340a006b9221ee8ecdc18b9c5..94e75ac457790f6d54e0013a9797fbd20cb0f80f 100644 (file)
@@ -348,7 +348,7 @@ void _block_byref_dispose_helper(struct _block_byref_voidBlock *param) {
 and
   struct _block_byref_voidBlock voidBlock = {( .forwarding=&voidBlock, .flags=(1<<25), .size=sizeof(struct _block_byref_voidBlock *),
       .byref_keep=_block_byref_keep_helper, .byref_dispose=_block_byref_dispose_helper,
-      .captured_voidBlock=blockA };
+      .captured_voidBlock=blockA )};
 
   voidBlock.forwarding->captured_voidBlock = blockB;
   
@@ -422,7 +422,9 @@ A __block variable that is also marked __attribute__((NSObject)) should have byr
 
 2.3.5 __block escapes
 
-Because Blocks referencing __block variables may have Block_copy() performed upon them the underlying storage for the variables may move to the heap.  In Objective-C Garbage Collection Only compilation environments the heap used is the garbage collected one and no further action is required.  Otherwise the compiler must issue a call to potentially release any heap storage for __block variables at all escapes or terminations of their scope.
+Because Blocks referencing __block variables may have Block_copy() performed upon them the underlying storage for the variables may move to the heap.  In Objective-C Garbage Collection Only compilation environments the heap used is the garbage collected one and no further action is required.  Otherwise the compiler must issue a call to potentially release any heap storage for __block variables at all escapes or terminations of their scope.  The call should be:
+
+    _Block_object_dispose(&_block_byref_xxx, BLOCK_FIELD_IS_BYREF);
 
 
 2.3.6 Nesting
@@ -640,31 +642,3 @@ void _Block_object_assign(void *destAddr, const void *object, const int flags);
  */
 void _Block_object_dispose(const void *object, const int flags);
 
-The following functions have been used and will continue to be supported until new compiler support is complete.
-
-// Obsolete functions.
-// Copy helper callback for copying a block imported into a Block
-// Called by copy_helper helper functions synthesized by the compiler.
-// The address in the destination block of an imported Block is provided as the first argument
-// and the value of the existing imported Block is the second.
-// Use: _Block_object_assign(dest, src, BLOCK_FIELD_IS_BLOCK {| BLOCK_FIELD_IS_WEAK});
-void _Block_copy_assign(struct Block_basic **dest, const struct Block_basic *src, const int flags);
-
-// Destroy helper callback for releasing Blocks imported into a Block
-// Called by dispose_helper helper functions synthesized by the compiler.
-// The value of the imported Block variable is passed back.
-// Use: _Block_object_dispose(src, BLOCK_FIELD_IS_BLOCK {| BLOCK_FIELD_IS_WEAK});
-void _Block_destroy(const struct Block_basic *src, const int flags);
-
-// Byref data block copy helper callback
-// Called by block copy helpers when copying __block structures
-// Use: _Block_object_assign(dest, src, BLOCK_FIELD_IS_BYREF {| BLOCK_FIELD_IS_WEAK});
-void _Block_byref_assign_copy(struct Block_byref **destp, struct Block_byref *src);
-
-// Byref data block release helper callback
-// Called by block release helpers when releasing a Block 
-// Called at escape points in scope where __block variables live (under non-GC-only conditions) 
-// Use: _Block_object_dispose(src, BLOCK_FIELD_IS_BYREF {| BLOCK_FIELD_IS_WEAK});
-void ยง(struct Block_byref *shared_struct);
-
-