clang 8.0.0

Public Member Functions | Protected Attributes | List of all members
clang::CodeGen::CodeGenFunction::RunCleanupsScope Class Reference

Enters a new scope for capturing cleanups, all of which will be executed once the scope is exited. More...

`#include "/work/www-prereleases/8.0.0/rc2/builddocs/llvm.src/tools/clang/lib/CodeGen/CodeGenFunction.h"`

Inheritance diagram for clang::CodeGen::CodeGenFunction::RunCleanupsScope:
[legend]
Collaboration diagram for clang::CodeGen::CodeGenFunction::RunCleanupsScope:
[legend]

## Public Member Functions
| RunCleanupsScope (CodeGenFunction &CGF)
| Enter a new cleanup scope. More...
| ~RunCleanupsScope ()
| Exit this cleanup scope, emitting any accumulated cleanups. More...
bool | requiresCleanups () const
| Determine whether this scope requires any cleanups. More...
void | ForceCleanup (std::initializer_list< llvm::Value **> ValuesToReload={})
| Force the emission of cleanups now, instead of waiting until this object is destroyed. More...

## Protected Attributes
bool | PerformCleanup
CodeGenFunction & | CGF

## Detailed Description

Enters a new scope for capturing cleanups, all of which will be executed once the scope is exited.

Definition at line 700 of file CodeGenFunction.h.

## Constructor & Destructor Documentation

## ◆ RunCleanupsScope()

clang::CodeGen::CodeGenFunction::RunCleanupsScope::RunCleanupsScope | ( | CodeGenFunction & | CGF | ) |
| inline explicit

Enter a new cleanup scope.

Definition at line 716 of file CodeGenFunction.h.

References clang::CodeGen::CodeGenFunction::CurrentCleanupScopeDepth, clang::CodeGen::CodeGenFunction::EHStack, clang::CodeGen::CodeGenFunction::LifetimeExtendedCleanupStack, and clang::CodeGen::EHScopeStack::stable_begin().

## ◆ ~RunCleanupsScope()

clang::CodeGen::CodeGenFunction::RunCleanupsScope::~RunCleanupsScope | ( |  | ) |
| inline

Exit this cleanup scope, emitting any accumulated cleanups.

Definition at line 729 of file CodeGenFunction.h.

## Member Function Documentation

## ◆ ForceCleanup()

void clang::CodeGen::CodeGenFunction::RunCleanupsScope::ForceCleanup | ( | std::initializer_list< llvm::Value **> | ValuesToReload = `{}` | ) |
| inline

Force the emission of cleanups now, instead of waiting until this object is destroyed.

Parameters

  ValuesToReload | - A list of values that need to be available at the insertion point after cleanup emission. If cleanup emission created a shared cleanup block, these value pointers will be rewritten. Otherwise, they not will be modified.

Definition at line 745 of file CodeGenFunction.h.

References clang::CodeGen::CodeGenFunction::CurrentCleanupScopeDepth, and clang::CodeGen::CodeGenFunction::PopCleanupBlocks().

Referenced by clang::CodeGen::CodeGenFunction::EmitConstructorBody(), emitCXXDestructor(), clang::CodeGen::CodeGenFunction::EmitLValue(), and clang::CodeGen::CodeGenFunction::ShouldNullCheckClassCastValue().

## ◆ requiresCleanups()

bool clang::CodeGen::CodeGenFunction::RunCleanupsScope::requiresCleanups | ( |  | ) | const
| inline

Determine whether this scope requires any cleanups.

Definition at line 735 of file CodeGenFunction.h.

References clang::CodeGen::CodeGenFunction::EHStack, and clang::CodeGen::EHScopeStack::stable_begin().

Referenced by emitCXXDestructMethod(), clang::CodeGen::CodeGenFunction::EmitOMPDistributeLoop(), emitOMPSimdRegion(), and clang::CodeGen::CodeGenFunction::EmitOMPWorksharingLoop().

## Member Data Documentation

## ◆ CGF

CodeGenFunction& clang::CodeGen::CodeGenFunction::RunCleanupsScope::CGF
| protected

Definition at line 712 of file CodeGenFunction.h.

## ◆ PerformCleanup

bool clang::CodeGen::CodeGenFunction::RunCleanupsScope::PerformCleanup
| protected

Definition at line 705 of file CodeGenFunction.h.

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

- lib/CodeGen/CodeGenFunction.h