Expand description
Raw bindings to Apple’s C language extension of blocks
The documentation for these bindings is a mix from GNUStep’s and Apple’s sources, but the ABI specification is really the place you should be looking!
See also the README.md for more
background information, and for how to configure the desired runtime.
Structs
Structure used for on-stack variables that are referenced by blocks.
Block_byref_extended
appleStructure used for on-stack variables that are referenced by blocks.
Structure used for on-stack variables that are referenced by blocks.
Block descriptor that contains copy and dispose operations.
Extended block descriptor that does not contain copy and dispose helper
functions.
Requires BLOCK_HAS_COPY_DISPOSE and BLOCK_HAS_SIGNATURE
Constants
The field is an indirect reference to a variable declared with the __block
storage qualifier.
BLOCK_DEALLOCATING
appleThe field is a block. This must be copied by the block copy functions.
The field is an indirect reference to a variable declared with the __block
storage qualifier.
The value is of some id-like type, and should be copied as an Objective-C
object: i.e. by sending -retain or via the GC assign functions in GC mode
(not yet supported).
The field is an indirect reference to a variable declared with the __block
storage qualifier.
The block descriptor contains copy and dispose helpers.
compiler
The helpers have C++ code.
compiler: helpers have C++ code
compiler
Block has an Objective-C type encoding.
compiler
compiler
BLOCK_IS_GC
applecompiler
Block is stored in global memory and does not need to be copied.
compiler
BLOCK_IS_NOESCAPE
applecompiler
BLOCK_NEEDS_FREE
appleruntime
compiler
Block function uses a calling convention that returns a structure via a
pointer passed in by the caller.
Statics
_NSConcreteAutoBlock
apple or compiler-rt_NSConcreteFinalizingBlock
apple or compiler-rt_NSConcreteWeakBlockVariable
apple or compiler-rtFunctions
Block_size⚠
apple or compiler-rtRuntime entry point called by compiler when assigning objects inside
copy helper routines
runtime entry point called by the compiler when disposing of objects
inside dispose helper routine
Type Definitions
Flags used in the final argument to _Block_object_assign() and
_Block_object_dispose(). These indicate the type of copy or dispose to
perform.
Values for _Block_object_assign() and _Block_object_dispose() parameters
Block descriptor flags.
Values for Block_layout->flags to describe block objects