clang API Documentation
A pair of helper functions for a __block variable. More...
#include <CodeGenModule.h>


Public Member Functions | |
| ByrefHelpers (CharUnits alignment) | |
| virtual | ~ByrefHelpers () |
| void | Profile (llvm::FoldingSetNodeID &id) const |
| virtual void | profileImpl (llvm::FoldingSetNodeID &id) const =0 |
| virtual bool | needsCopy () const |
| virtual void | emitCopy (CodeGenFunction &CGF, llvm::Value *dest, llvm::Value *src)=0 |
| virtual bool | needsDispose () const |
| virtual void | emitDispose (CodeGenFunction &CGF, llvm::Value *field)=0 |
Public Attributes | |
| llvm::Constant * | CopyHelper |
| llvm::Constant * | DisposeHelper |
| CharUnits | Alignment |
A pair of helper functions for a __block variable.
Definition at line 559 of file CodeGenModule.h.
| clang::CodeGen::CodeGenModule::ByrefHelpers::ByrefHelpers | ( | CharUnits | alignment | ) | [inline] |
Definition at line 569 of file CodeGenModule.h.
| CodeGenModule::ByrefHelpers::~ByrefHelpers | ( | ) | [virtual] |
Definition at line 40 of file CGBlocks.cpp.
| virtual void clang::CodeGen::CodeGenModule::ByrefHelpers::emitCopy | ( | CodeGenFunction & | CGF, |
| llvm::Value * | dest, | ||
| llvm::Value * | src | ||
| ) | [pure virtual] |
Referenced by generateByrefCopyHelper().
| virtual void clang::CodeGen::CodeGenModule::ByrefHelpers::emitDispose | ( | CodeGenFunction & | CGF, |
| llvm::Value * | field | ||
| ) | [pure virtual] |
Referenced by generateByrefDisposeHelper().
| virtual bool clang::CodeGen::CodeGenModule::ByrefHelpers::needsCopy | ( | ) | const [inline, virtual] |
Definition at line 578 of file CodeGenModule.h.
Referenced by generateByrefCopyHelper().
| virtual bool clang::CodeGen::CodeGenModule::ByrefHelpers::needsDispose | ( | ) | const [inline, virtual] |
Definition at line 582 of file CodeGenModule.h.
Referenced by generateByrefDisposeHelper().
| void clang::CodeGen::CodeGenModule::ByrefHelpers::Profile | ( | llvm::FoldingSetNodeID & | id | ) | const [inline] |
Definition at line 572 of file CodeGenModule.h.
References Alignment, clang::CharUnits::getQuantity(), and profileImpl().
| virtual void clang::CodeGen::CodeGenModule::ByrefHelpers::profileImpl | ( | llvm::FoldingSetNodeID & | id | ) | const [pure virtual] |
Referenced by Profile().
The alignment of the field. This is important because different offsets to the field within the byref struct need to have different helper functions.
Definition at line 567 of file CodeGenModule.h.
Referenced by Profile().
| llvm::Constant* clang::CodeGen::CodeGenModule::ByrefHelpers::CopyHelper |
Definition at line 561 of file CodeGenModule.h.
| llvm::Constant* clang::CodeGen::CodeGenModule::ByrefHelpers::DisposeHelper |
Definition at line 562 of file CodeGenModule.h.