clang 10.0.0git

Public Member Functions | Public Attributes | List of all members
clang::CodeGen::BlockByrefHelpers Class Referenceabstract

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

`#include "/work/www-prereleases/10.0.0/rc1/docsbuild/clang/lib/CodeGen/CodeGenModule.h"`

Inheritance diagram for clang::CodeGen::BlockByrefHelpers:
[legend]
Collaboration diagram for clang::CodeGen::BlockByrefHelpers:
[legend]

## Public Member Functions
| BlockByrefHelpers (CharUnits alignment)
| BlockByrefHelpers (const BlockByrefHelpers &)=default
virtual | ~BlockByrefHelpers ()
void | Profile (llvm::FoldingSetNodeID &id) const
virtual void | profileImpl (llvm::FoldingSetNodeID &id) const =0
virtual bool | needsCopy () const
virtual void | emitCopy (CodeGenFunction &CGF, Address dest, Address src)=0
virtual bool | needsDispose () const
virtual void | emitDispose (CodeGenFunction &CGF, Address field)=0

## Public Attributes
llvm::Constant * | CopyHelper
llvm::Constant * | DisposeHelper
CharUnits | Alignment
| The alignment of the field. More...

## Detailed Description

A pair of helper functions for a __block variable.

Definition at line 248 of file CodeGenModule.h.

## Constructor & Destructor Documentation

## ◆ BlockByrefHelpers() [1/2]

clang::CodeGen::BlockByrefHelpers::BlockByrefHelpers | ( | CharUnits | alignment | ) |
| inline

Definition at line 260 of file CodeGenModule.h.

## ◆ BlockByrefHelpers() [2/2]

clang::CodeGen::BlockByrefHelpers::BlockByrefHelpers | ( | const BlockByrefHelpers & |  | ) |
| default

## ◆ ~BlockByrefHelpers()

BlockByrefHelpers::~BlockByrefHelpers | ( |  | ) |
| virtual

Definition at line 48 of file CGBlocks.cpp.

References buildGlobalBlock().

## Member Function Documentation

## ◆ emitCopy()

virtual void clang::CodeGen::BlockByrefHelpers::emitCopy | ( | CodeGenFunction & | CGF,
|  | Address | dest,
|  | Address | src
| ) |  |
| pure virtual

## ◆ emitDispose()

virtual void clang::CodeGen::BlockByrefHelpers::emitDispose | ( | CodeGenFunction & | CGF,
|  | Address | field
| ) |  |
| pure virtual

## ◆ needsCopy()

virtual bool clang::CodeGen::BlockByrefHelpers::needsCopy | ( |  | ) | const
| inline virtual

Definition at line 271 of file CodeGenModule.h.

## ◆ needsDispose()

virtual bool clang::CodeGen::BlockByrefHelpers::needsDispose | ( |  | ) | const
| inline virtual

Definition at line 274 of file CodeGenModule.h.

## ◆ Profile()

void clang::CodeGen::BlockByrefHelpers::Profile | ( | llvm::FoldingSetNodeID & | id | ) | const
| inline

Definition at line 265 of file CodeGenModule.h.

References clang::CharUnits::getQuantity().

## ◆ profileImpl()

virtual void clang::CodeGen::BlockByrefHelpers::profileImpl | ( | llvm::FoldingSetNodeID & | id | ) | const
| pure virtual

## Member Data Documentation

## ◆ Alignment

CharUnits clang::CodeGen::BlockByrefHelpers::Alignment

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

## ◆ CopyHelper

llvm::Constant* clang::CodeGen::BlockByrefHelpers::CopyHelper

Definition at line 252 of file CodeGenModule.h.

## ◆ DisposeHelper

llvm::Constant* clang::CodeGen::BlockByrefHelpers::DisposeHelper

Definition at line 253 of file CodeGenModule.h.

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

- lib/CodeGen/CodeGenModule.h
- lib/CodeGen/CGBlocks.cpp