class CodeGenFunction::FinallyInfo

Declaration

class CodeGenFunction::FinallyInfo { /* full declaration omitted */ };

Description

A class controlling the emission of a finally block.

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

Member Variables

private clang::CodeGen::CodeGenFunction::JumpDest RethrowDest
Where the catchall's edge through the cleanup should go.
private llvm::FunctionCallee BeginCatchFn
A function to call to enter the catch.
private llvm::AllocaInst* ForEHVar
An i1 variable indicating whether or not the @finallyis running for an exception.
private llvm::AllocaInst* SavedExnVar
An i8* variable into which the exception pointer to rethrow has been saved.

Method Overview

  • public void enter(clang::CodeGen::CodeGenFunction & CGF, const clang::Stmt * Finally, llvm::FunctionCallee beginCatchFn, llvm::FunctionCallee endCatchFn, llvm::FunctionCallee rethrowFn)
  • public void exit(clang::CodeGen::CodeGenFunction & CGF)

Methods

void enter(clang::CodeGen::CodeGenFunction& CGF,
           const clang::Stmt* Finally,
           llvm::FunctionCallee beginCatchFn,
           llvm::FunctionCallee endCatchFn,
           llvm::FunctionCallee rethrowFn)

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

Parameters

clang::CodeGen::CodeGenFunction& CGF
const clang::Stmt* Finally
llvm::FunctionCallee beginCatchFn
llvm::FunctionCallee endCatchFn
llvm::FunctionCallee rethrowFn

void exit(clang::CodeGen::CodeGenFunction& CGF)

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

Parameters

clang::CodeGen::CodeGenFunction& CGF