clang  6.0.0svn
Public Member Functions | Protected Attributes | List of all members
clang::CodeGen::CodeGenFunction::RunCleanupsScope Class Reference

Enters a new scope for capturing cleanups, all of which will be executed once the scope is exited. More...

#include "/opt/doxygen-docs/src/llvm/tools/clang/lib/CodeGen/CodeGenFunction.h"

Inheritance diagram for clang::CodeGen::CodeGenFunction::RunCleanupsScope:
Inheritance graph
[legend]
Collaboration diagram for clang::CodeGen::CodeGenFunction::RunCleanupsScope:
Collaboration graph
[legend]

Public Member Functions

 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 (std::initializer_list< llvm::Value **> ValuesToReload={})
 Force the emission of cleanups now, instead of waiting until this object is destroyed. More...
 

Protected Attributes

bool PerformCleanup
 
CodeGenFunctionCGF
 

Detailed Description

Enters a new scope for capturing cleanups, all of which will be executed once the scope is exited.

Definition at line 584 of file CodeGenFunction.h.

Constructor & Destructor Documentation

◆ RunCleanupsScope()

clang::CodeGen::CodeGenFunction::RunCleanupsScope::RunCleanupsScope ( CodeGenFunction CGF)
inlineexplicit

◆ ~RunCleanupsScope()

clang::CodeGen::CodeGenFunction::RunCleanupsScope::~RunCleanupsScope ( )
inline

Exit this cleanup scope, emitting any accumulated cleanups.

Definition at line 611 of file CodeGenFunction.h.

Member Function Documentation

◆ ForceCleanup()

void clang::CodeGen::CodeGenFunction::RunCleanupsScope::ForceCleanup ( std::initializer_list< llvm::Value **>  ValuesToReload = {})
inline

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

Parameters
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 627 of file CodeGenFunction.h.

References clang::CodeGen::CodeGenFunction::PopCleanupBlocks().

Referenced by clang::CodeGen::CodeGenFunction::EmitConstructorBody(), emitCXXDestructor(), clang::CodeGen::CodeGenFunction::GenerateCXXGlobalInitFunc(), and clang::CodeGen::CodeGenFunction::ShouldNullCheckClassCastValue().

◆ requiresCleanups()

bool clang::CodeGen::CodeGenFunction::RunCleanupsScope::requiresCleanups ( ) const
inline

Member Data Documentation

◆ CGF

CodeGenFunction& clang::CodeGen::CodeGenFunction::RunCleanupsScope::CGF
protected

Definition at line 596 of file CodeGenFunction.h.

◆ PerformCleanup

bool clang::CodeGen::CodeGenFunction::RunCleanupsScope::PerformCleanup
protected

Definition at line 589 of file CodeGenFunction.h.


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