clang 22.0.0git
|
Enters a new scope for capturing cleanups, all of which will be executed once the scope is exited. More...
#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/CodeGen/CodeGenFunction.h"
Public Member Functions | |
RunCleanupsScope (CodeGenFunction &CGF) | |
Enter a new cleanup scope. | |
~RunCleanupsScope () | |
Exit this cleanup scope, emitting any accumulated cleanups. | |
bool | requiresCleanups () const |
Determine whether this scope requires any cleanups. | |
void | ForceCleanup (std::initializer_list< llvm::Value ** > ValuesToReload={}) |
Force the emission of cleanups now, instead of waiting until this object is destroyed. |
Protected Attributes | |
bool | PerformCleanup |
CodeGenFunction & | CGF |
Enters a new scope for capturing cleanups, all of which will be executed once the scope is exited.
Definition at line 1022 of file CodeGenFunction.h.
|
inlineexplicit |
Enter a new cleanup scope.
Definition at line 1040 of file CodeGenFunction.h.
References CGF, PerformCleanup, and true.
|
inline |
Exit this cleanup scope, emitting any accumulated cleanups.
Definition at line 1052 of file CodeGenFunction.h.
References ForceCleanup(), and PerformCleanup.
|
inline |
Force the emission of cleanups now, instead of waiting until this object is destroyed.
ValuesToReload | - A list of values that need to be available at the insertion point after cleanup emission. If cleanup emission created a shared cleanup block, these value pointers will be rewritten. Otherwise, they not will be modified. |
Definition at line 1069 of file CodeGenFunction.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitConstructorBody(), clang::CodeGen::CodeGenFunction::EmitDestructorBody(), clang::CodeGen::CodeGenFunction::EmitObjCForCollectionStmt(), clang::CodeGen::CodeGenFunction::EmitOMPWorksharingLoop(), clang::CodeGen::CodeGenFunction::EmitReturnStmt(), clang::CodeGen::CodeGenFunction::EmitSwitchStmt(), clang::CodeGen::CodeGenFunction::EmitWhileStmt(), clang::CodeGen::CodeGenFunction::ExitCXXTryStmt(), clang::CodeGen::CodeGenFunction::LexicalScope::ForceCleanup(), clang::CodeGen::CodeGenFunction::OMPPrivateScope::ForceCleanup(), clang::CodeGen::CodeGenFunction::GenerateDestroyHelperFunction(), and ~RunCleanupsScope().
|
inline |
Determine whether this scope requires any cleanups.
Definition at line 1058 of file CodeGenFunction.h.
References CGF.
Referenced by emitCXXDestructMethod(), clang::CodeGen::CodeGenFunction::EmitCXXForRangeStmt(), clang::CodeGen::CodeGenFunction::EmitForStmt(), emitOMPSimdRegion(), clang::CodeGen::CodeGenFunction::EmitOMPTaskLoopBasedDirective(), clang::CodeGen::CodeGenFunction::EmitOMPWorksharingLoop(), clang::CodeGen::CodeGenFunction::EmitSwitchStmt(), and clang::CodeGen::CodeGenFunction::EmitWhileStmt().
|
protected |
Definition at line 1036 of file CodeGenFunction.h.
Referenced by clang::CodeGen::CodeGenFunction::OMPPrivateScope::addPrivate(), clang::CodeGen::CodeGenFunction::LexicalScope::ForceCleanup(), clang::CodeGen::CodeGenFunction::OMPPrivateScope::isGlobalVarCaptured(), clang::CodeGen::CodeGenFunction::LexicalScope::LexicalScope(), clang::CodeGen::CodeGenFunction::OMPPrivateScope::OMPPrivateScope(), clang::CodeGen::CodeGenFunction::OMPPrivateScope::Privatize(), requiresCleanups(), clang::CodeGen::CodeGenFunction::LexicalScope::rescopeLabels(), clang::CodeGen::CodeGenFunction::OMPPrivateScope::restoreMap(), RunCleanupsScope(), and clang::CodeGen::CodeGenFunction::LexicalScope::~LexicalScope().
|
protected |
Definition at line 1029 of file CodeGenFunction.h.
Referenced by clang::CodeGen::CodeGenFunction::LexicalScope::addLabel(), clang::CodeGen::CodeGenFunction::OMPPrivateScope::addPrivate(), RunCleanupsScope(), clang::CodeGen::CodeGenFunction::LexicalScope::~LexicalScope(), clang::CodeGen::CodeGenFunction::OMPPrivateScope::~OMPPrivateScope(), and ~RunCleanupsScope().