class CodeGenFunction::RunCleanupsScope

Declaration

class CodeGenFunction::RunCleanupsScope { /* full declaration omitted */ };

Description

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

Declared at: clang/lib/CodeGen/CodeGenFunction.h:872

Member Variables

private EHScopeStack::stable_iterator CleanupStackDepth
private EHScopeStack::stable_iterator OldCleanupScopeDepth
private size_t LifetimeExtendedCleanupStackSize
private bool OldDidCallStackSave
protected bool PerformCleanup
protected clang::CodeGen::CodeGenFunction& CGF

Method Overview

Methods

void ForceCleanup(
    std::initializer_list<llvm::Value**>
        ValuesToReload = {})

Description

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

Declared at: clang/lib/CodeGen/CodeGenFunction.h:917

Parameters

std::initializer_list<llvm::Value**> 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.

RunCleanupsScope(
    const clang::CodeGen::CodeGenFunction::
        RunCleanupsScope&)

Declared at: clang/lib/CodeGen/CodeGenFunction.h:880

Parameters

const clang::CodeGen::CodeGenFunction:: RunCleanupsScope&

RunCleanupsScope(
    clang::CodeGen::CodeGenFunction& CGF)

Description

Enter a new cleanup scope.

Declared at: clang/lib/CodeGen/CodeGenFunction.h:888

Parameters

clang::CodeGen::CodeGenFunction& CGF

bool requiresCleanups() const

Description

Determine whether this scope requires any cleanups.

Declared at: clang/lib/CodeGen/CodeGenFunction.h:907

~RunCleanupsScope()

Description

Exit this cleanup scope, emitting any accumulated cleanups.

Declared at: clang/lib/CodeGen/CodeGenFunction.h:901