clang
3.7.0
|
#include <CodeGenFunction.h>
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 () |
![]() | |
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 | |
![]() | |
bool | PerformCleanup |
CodeGenFunction & | CGF |
Definition at line 509 of file CodeGenFunction.h.
|
inlineexplicit |
Enter a new cleanup scope.
Definition at line 519 of file CodeGenFunction.h.
References clang::CodeGen::CodeGenFunction::Builder, clang::SourceRange::getBegin(), and clang::CodeGen::CodeGenFunction::getDebugInfo().
|
inline |
Exit this cleanup scope, emitting any accumulated cleanups.
Definition at line 533 of file CodeGenFunction.h.
References clang::CodeGen::CodeGenFunction::Builder, clang::CodeGen::CodeGenFunction::RunCleanupsScope::CGF, ForceCleanup(), clang::CodeGen::CodeGenFunction::getDebugInfo(), clang::SourceRange::getEnd(), and clang::CodeGen::CodeGenFunction::RunCleanupsScope::PerformCleanup.
|
inline |
Definition at line 526 of file CodeGenFunction.h.
References clang::CodeGen::CodeGenFunction::RunCleanupsScope::PerformCleanup.
Referenced by clang::CodeGen::CodeGenFunction::EmitLabel().
|
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().