clang 23.0.0git
clang::CIRGen::CIRGenFunction::LifetimeExtendedCleanupEntry Struct Reference

An entry in the lifetime-extended cleanup stack. 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
Destroyerdestroyer

Detailed Description

An entry in the lifetime-extended cleanup stack.

Each entry represents a cleanup that was deferred past a full-expression boundary (e.g., destroying a temporary bound to a local reference). When the enclosing scope exits, these entries are promoted to the EH scope stack.

Currently only DestroyObject cleanups are lifetime-extended. 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 105 of file CIRGenFunction.h.

Member Data Documentation

◆ addr

Address clang::CIRGen::CIRGenFunction::LifetimeExtendedCleanupEntry::addr

◆ destroyer

Destroyer* clang::CIRGen::CIRGenFunction::LifetimeExtendedCleanupEntry::destroyer

◆ kind

CleanupKind clang::CIRGen::CIRGenFunction::LifetimeExtendedCleanupEntry::kind

◆ type

QualType clang::CIRGen::CIRGenFunction::LifetimeExtendedCleanupEntry::type

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