|
clang 24.0.0git
|
A cleanup whose destructor call is not emitted where the cleanup is registered. More...
#include "/work/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/CIR/CodeGen/CIRGenFunction.h"
Public Attributes | |
| CleanupKind | kind |
| Address | addr |
| QualType | type |
| Destroyer * | destroyer |
| Address | activeFlag = Address::invalid() |
A cleanup whose destructor call is not emitted where the cleanup is registered.
Used by the lifetime-extended cleanup stack, whose entries are later promoted onto the EH scope stack, and by the deferred conditional cleanup stack, whose entries are emitted directly into a conditional scope's cleanup region.
A valid activeFlag means the cleanup is conditional. The flag tracks at run time whether the object has been constructed, and guards the destructor call.
Currently only DestroyObject cleanups use this. When other cleanup types are needed (e.g., CallLifetimeEnd), this struct can be extended with a std::variant of cleanup data types.
Definition at line 143 of file CIRGenFunction.h.
| Address clang::CIRGen::CIRGenFunction::PendingCleanupEntry::activeFlag = Address::invalid() |
Definition at line 148 of file CIRGenFunction.h.
Referenced by clang::CIRGen::CIRGenFunction::pushPendingCleanupToEHStack().
| Address clang::CIRGen::CIRGenFunction::PendingCleanupEntry::addr |
Definition at line 145 of file CIRGenFunction.h.
Referenced by clang::CIRGen::CIRGenFunction::pushPendingCleanupToEHStack().
| Destroyer* clang::CIRGen::CIRGenFunction::PendingCleanupEntry::destroyer |
Definition at line 147 of file CIRGenFunction.h.
Referenced by clang::CIRGen::CIRGenFunction::pushPendingCleanupToEHStack().
| CleanupKind clang::CIRGen::CIRGenFunction::PendingCleanupEntry::kind |
Definition at line 144 of file CIRGenFunction.h.
Referenced by clang::CIRGen::CIRGenFunction::pushPendingCleanupToEHStack().
| QualType clang::CIRGen::CIRGenFunction::PendingCleanupEntry::type |
Definition at line 146 of file CIRGenFunction.h.
Referenced by clang::CIRGen::CIRGenFunction::pushPendingCleanupToEHStack().