clang API Documentation

Public Member Functions | Public Attributes
clang::CodeGen::CodeGenModule::ByrefHelpers Class Reference

A pair of helper functions for a __block variable. More...

#include <CodeGenModule.h>

Inheritance diagram for clang::CodeGen::CodeGenModule::ByrefHelpers:
Inheritance graph
[legend]
Collaboration diagram for clang::CodeGen::CodeGenModule::ByrefHelpers:
Collaboration graph
[legend]

List of all members.

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

Detailed Description

A pair of helper functions for a __block variable.

Definition at line 733 of file CodeGenModule.h.


Constructor & Destructor Documentation

Definition at line 743 of file CodeGenModule.h.

Definition at line 43 of file CGBlocks.cpp.


Member Function Documentation

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]
virtual bool clang::CodeGen::CodeGenModule::ByrefHelpers::needsCopy ( ) const [inline, virtual]

Definition at line 752 of file CodeGenModule.h.

Referenced by generateByrefCopyHelper().

Definition at line 756 of file CodeGenModule.h.

Referenced by generateByrefDisposeHelper().

void clang::CodeGen::CodeGenModule::ByrefHelpers::Profile ( llvm::FoldingSetNodeID &  id) const [inline]

Definition at line 746 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().


Member Data Documentation

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 741 of file CodeGenModule.h.

Referenced by Profile().

Definition at line 735 of file CodeGenModule.h.

Definition at line 736 of file CodeGenModule.h.


The documentation for this class was generated from the following files: