clang 10.0.0git

Public Member Functions | List of all members
clang::CodeGen::CodeGenFunction::LexicalScope Class Reference

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

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

## Public Member Functions
| LexicalScope (CodeGenFunction &CGF, SourceRange Range)
| Enter a new cleanup scope. More...
void | addLabel (const LabelDecl *label)
| ~LexicalScope ()
| Exit this cleanup scope, emitting any accumulated cleanups. More...
void | ForceCleanup ()
| Force the emission of cleanups now, instead of waiting until this object is destroyed. More...
bool | hasLabels () const
void | rescopeLabels ()
| Change the cleanup scope of the labels in this lexical scope to match the scope of the enclosing context. More...
Public Member Functions inherited from clang::CodeGen::CodeGenFunction::RunCleanupsScope
| 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...

## Additional Inherited Members
Protected Attributes inherited from clang::CodeGen::CodeGenFunction::RunCleanupsScope
bool | PerformCleanup
CodeGenFunction & | CGF

## Detailed Description

Definition at line 768 of file CodeGenFunction.h.

## Constructor & Destructor Documentation

## ◆ LexicalScope()

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

Enter a new cleanup scope.

Definition at line 778 of file CodeGenFunction.h.

References clang::CodeGen::CodeGenFunction::Builder, clang::SourceRange::getBegin(), and clang::CodeGen::CodeGenFunction::getDebugInfo().

## ◆ ~LexicalScope()

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

Exit this cleanup scope, emitting any accumulated cleanups.

Definition at line 792 of file CodeGenFunction.h.

References clang::CodeGen::CodeGenFunction::Builder, clang::CodeGen::CodeGenFunction::getDebugInfo(), and clang::SourceRange::getEnd().

## Member Function Documentation

## ◆ addLabel()

void clang::CodeGen::CodeGenFunction::LexicalScope::addLabel | ( | const LabelDecl * | label | ) |
| inline

Definition at line 785 of file CodeGenFunction.h.

Referenced by clang::CodeGen::CodeGenFunction::EmitLabel().

## ◆ ForceCleanup()

void clang::CodeGen::CodeGenFunction::LexicalScope::ForceCleanup | ( |  | ) |
| inline

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

Definition at line 806 of file CodeGenFunction.h.

## ◆ hasLabels()

bool clang::CodeGen::CodeGenFunction::LexicalScope::hasLabels | ( |  | ) | const
| inline

Definition at line 814 of file CodeGenFunction.h.

## ◆ rescopeLabels()

void CodeGenFunction::LexicalScope::rescopeLabels | ( |  | ) |

Change the cleanup scope of the labels in this lexical scope to match the scope of the enclosing context.

Definition at line 576 of file CGStmt.cpp.

References clang::CodeGen::EHScopeStack::stable_end().

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

- lib/CodeGen/CodeGenFunction.h
- lib/CodeGen/CGStmt.cpp