struct CatchRetScope

Declaration

struct CatchRetScope : 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/CGCXXABI.h:661

Inherits from: EHScopeStack::Cleanup

Member Variables

public llvm::CatchPadInst* CPI

Method Overview

  • public CatchRetScope(llvm::CatchPadInst * CPI)
  • public void Emit(clang::CodeGen::CodeGenFunction & CGF, clang::CodeGen::EHScopeStack::Cleanup::Flags flags)

Inherited from EHScopeStack::Cleanup:

Methods

CatchRetScope(llvm::CatchPadInst* CPI)

Declared at: clang/lib/CodeGen/CGCXXABI.h:664

Parameters

llvm::CatchPadInst* CPI

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/CGCXXABI.h:666

Parameters

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