clang
3.9.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 () |
Change the cleanup scope of the labels in this lexical scope to match the scope of the enclosing context. More... | |
![]() | |
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 534 of file CodeGenFunction.h.
|
inlineexplicit |
Enter a new cleanup scope.
Definition at line 544 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 558 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 551 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 572 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 491 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().