clang API Documentation
#include <CodeGenFunction.h>
Public Member Functions | |
LexicalScope (CodeGenFunction &CGF, SourceRange Range) | |
Enter a new cleanup scope. | |
void | addLabel (const LabelDecl *label) |
~LexicalScope () | |
Exit this cleanup scope, emitting any accumulated cleanups. | |
void | ForceCleanup () |
Force the emission of cleanups now, instead of waiting until this object is destroyed. | |
void | rescopeLabels () |
Definition at line 546 of file CodeGenFunction.h.
clang::CodeGen::CodeGenFunction::LexicalScope::LexicalScope | ( | CodeGenFunction & | CGF, |
SourceRange | Range | ||
) | [inline, explicit] |
Enter a new cleanup scope.
Definition at line 556 of file CodeGenFunction.h.
References clang::CodeGen::CodeGenFunction::Builder, clang::SourceRange::getBegin(), and clang::CodeGen::CodeGenFunction::getDebugInfo().
Exit this cleanup scope, emitting any accumulated cleanups.
Definition at line 570 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.
void clang::CodeGen::CodeGenFunction::LexicalScope::addLabel | ( | const LabelDecl * | label | ) | [inline] |
Definition at line 563 of file CodeGenFunction.h.
References clang::CodeGen::CodeGenFunction::RunCleanupsScope::PerformCleanup.
Referenced by clang::CodeGen::CodeGenFunction::EmitLabel().
void clang::CodeGen::CodeGenFunction::LexicalScope::ForceCleanup | ( | ) | [inline] |
Force the emission of cleanups now, instead of waiting until this object is destroyed.
Reimplemented from clang::CodeGen::CodeGenFunction::RunCleanupsScope.
Definition at line 581 of file CodeGenFunction.h.
References clang::CodeGen::CodeGenFunction::RunCleanupsScope::CGF, and rescopeLabels().
Referenced by ~LexicalScope().
Change the cleanup scope of the labels in this lexical scope to match the scope of the enclosing context.
Definition at line 434 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().