class CodeGenFunction::CallLifetimeEnd

Declaration

class CodeGenFunction::CallLifetimeEnd : public Cleanup { /* full declaration omitted */ };

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.

Declared at: clang/lib/CodeGen/CodeGenFunction.h:625

Inherits from: EHScopeStack::Cleanup

Member Variables

private llvm::Value* Addr
private llvm::Value* Size

Method Overview

  • public CallLifetimeEnd(clang::CodeGen::Address addr, llvm::Value * size)
  • public void Emit(clang::CodeGen::CodeGenFunction & CGF, clang::CodeGen::EHScopeStack::Cleanup::Flags flags)
  • private bool isRedundantBeforeReturn()

Inherited from EHScopeStack::Cleanup:

Methods

CallLifetimeEnd(clang::CodeGen::Address addr,
                llvm::Value* size)

Declared at: clang/lib/CodeGen/CodeGenFunction.h:632

Parameters

clang::CodeGen::Address addr
llvm::Value* size

void Emit(
    clang::CodeGen::CodeGenFunction& CGF,
    clang::CodeGen::EHScopeStack::Cleanup::Flags
        flags)

Description

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.

Declared at: clang/lib/CodeGen/CodeGenFunction.h:635

Parameters

clang::CodeGen::CodeGenFunction& CGF
clang::CodeGen::EHScopeStack::Cleanup::Flags flags

bool isRedundantBeforeReturn()

Declared at: clang/lib/CodeGen/CodeGenFunction.h:626