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

#include <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...
 
void rescopeLabels ()
 
- 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 ()
 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 509 of file CodeGenFunction.h.

Constructor & Destructor Documentation

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

Member Function Documentation

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

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

Definition at line 547 of file CodeGenFunction.h.

References clang::CodeGen::CodeGenFunction::RunCleanupsScope::CGF, clang::CodeGen::CodeGenFunction::RunCleanupsScope::ForceCleanup(), and rescopeLabels().

Referenced by ~LexicalScope().

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 441 of file CGStmt.cpp.

References clang::CodeGen::CodeGenFunction::RunCleanupsScope::CGF, clang::CodeGen::CodeGenFunction::EHStack, clang::CodeGen::EHScopeStack::getInnermostNormalCleanup(), and clang::CodeGen::EHScopeStack::stable_end().

Referenced by ForceCleanup().


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