class CodeGenFunction::LexicalScope

Declaration

class CodeGenFunction::LexicalScope : public 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:931

Inherits from: CodeGenFunction::RunCleanupsScope

Member Variables

private clang::SourceRange Range
private SmallVector<const clang::LabelDecl*, 4> Labels
private clang::CodeGen::CodeGenFunction::LexicalScope* ParentScope

Inherited from CodeGenFunction::RunCleanupsScope:

protected PerformCleanup
protected CGF

Method Overview

Inherited from CodeGenFunction::RunCleanupsScope:

Methods

void ForceCleanup()

Description

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

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

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

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

Parameters

const clang::CodeGen::CodeGenFunction:: LexicalScope&

LexicalScope(clang::CodeGen::CodeGenFunction& CGF,
             clang::SourceRange Range)

Description

Enter a new cleanup scope.

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

Parameters

clang::CodeGen::CodeGenFunction& CGF
clang::SourceRange Range

void addLabel(const clang::LabelDecl* label)

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

Parameters

const clang::LabelDecl* label

bool hasLabels() const

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

void rescopeLabels()

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

~LexicalScope()

Description

Exit this cleanup scope, emitting any accumulated cleanups.

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