class OMPAllocateCleanupTy

Declaration

class OMPAllocateCleanupTy : 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/CGOpenMPRuntime.cpp:12200

Inherits from: EHScopeStack::Cleanup

Member Variables

private llvm::FunctionCallee RTLFn
private SourceLocation::UIntTy LocEncoding
private clang::CodeGen::Address Addr
private const clang::Expr* AllocExpr

Method Overview

  • public void Emit(clang::CodeGen::CodeGenFunction & CGF, clang::CodeGen::EHScopeStack::Cleanup::Flags)
  • public OMPAllocateCleanupTy(llvm::FunctionCallee RTLFn, SourceLocation::UIntTy LocEncoding, clang::CodeGen::Address Addr, const clang::Expr * AllocExpr)

Inherited from EHScopeStack::Cleanup:

Methods

void Emit(
    clang::CodeGen::CodeGenFunction& CGF,
    clang::CodeGen::EHScopeStack::Cleanup::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/CGOpenMPRuntime.cpp:12212

Parameters

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

OMPAllocateCleanupTy(
    llvm::FunctionCallee RTLFn,
    SourceLocation::UIntTy LocEncoding,
    clang::CodeGen::Address Addr,
    const clang::Expr* AllocExpr)

Declared at: clang/lib/CodeGen/CGOpenMPRuntime.cpp:12207

Parameters

llvm::FunctionCallee RTLFn
SourceLocation::UIntTy LocEncoding
clang::CodeGen::Address Addr
const clang::Expr* AllocExpr