Author: blaine
Date: Wed Oct 27 16:22:46 2010
New Revision: 117492
URL: http://llvm.org/viewvc/llvm-project?rev=117492&view=rev
Log:
reconcile missing typos & delete obsolete pre-SnowLeopard section w.r.t. prior
repository for this document
Modified:
cfe/trunk/docs/Block-ABI-Apple.txt
Modified: cfe/trunk/docs/Block-ABI-Apple.txt
URL:
http://llvm.org/viewvc/llvm-project/cfe/trunk/docs/Block-ABI-Apple.txt?rev=117492&r1=117491&r2=117492&view=diff
==============================================================================
--- cfe/trunk/docs/Block-ABI-Apple.txt (original)
+++ cfe/trunk/docs/Block-ABI-Apple.txt Wed Oct 27 16:22:46 2010
@@ -348,7 +348,7 @@
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 @@
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_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);
-
-
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits