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

#include "/opt/doxygen-docs/src/llvm/tools/clang/lib/CodeGen/CodeGenFunction.h"

Inheritance diagram for clang::CodeGen::CodeGenFunction::LexicalScope:
Inheritance graph
[legend]
Collaboration diagram for clang::CodeGen::CodeGenFunction::LexicalScope:
Collaboration graph
[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
 
CodeGenFunctionCGF
 

Detailed Description

Definition at line 636 of file CodeGenFunction.h.

Constructor & Destructor Documentation

◆ LexicalScope()

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

◆ ~LexicalScope()

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

Exit this cleanup scope, emitting any accumulated cleanups.

Definition at line 660 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 653 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 674 of file CodeGenFunction.h.

◆ hasLabels()

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

Definition at line 682 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 530 of file CGStmt.cpp.

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


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