clang 22.0.0git
clang::CIRGen::EHScopeStack::Cleanup Class Referenceabstract

Information for lazily generating a cleanup. More...

#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/CIR/CodeGen/EHScopeStack.h"

Public Member Functions

 Cleanup (const Cleanup &)=default
 Cleanup (Cleanup &&)
 Cleanup ()=default
virtual ~Cleanup ()=default
virtual void emit (CIRGenFunction &cgf)=0
 Emit the cleanup.
virtual size_t getSize () const =0

Detailed Description

Information for lazily generating a cleanup.

Subclasses must be POD-like: cleanups will not be destructed, and they will be allocated on the cleanup stack and freely copied and moved around.

Cleanup implementations should generally be declared in an anonymous namespace.

Definition at line 93 of file EHScopeStack.h.

Constructor & Destructor Documentation

◆ Cleanup() [1/3]

clang::CIRGen::EHScopeStack::Cleanup::Cleanup ( const Cleanup & )
default

References Cleanup().

Referenced by Cleanup(), and Cleanup().

◆ Cleanup() [2/3]

clang::CIRGen::EHScopeStack::Cleanup::Cleanup ( Cleanup && )
inline

Definition at line 99 of file EHScopeStack.h.

References Cleanup().

◆ Cleanup() [3/3]

clang::CIRGen::EHScopeStack::Cleanup::Cleanup ( )
default

◆ ~Cleanup()

virtual clang::CIRGen::EHScopeStack::Cleanup::~Cleanup ( )
virtualdefault

Member Function Documentation

◆ emit()

virtual void clang::CIRGen::EHScopeStack::Cleanup::emit ( CIRGenFunction & cgf)
pure virtual

Emit the cleanup.

For normal cleanups, this is run in the same EH context as when the cleanup was pushed, i.e. the immediately-enclosing context of the cleanup scope. For EH cleanups, this is run in a terminate context.

References clang::CIRGen::EHScopeStack::CIRGenFunction.

◆ getSize()

virtual size_t clang::CIRGen::EHScopeStack::Cleanup::getSize ( ) const
pure virtual

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