clang 20.0.0git
Public Member Functions | Public Attributes | List of all members
clang::CodeGen::CatchRetScope Struct Referencefinal

#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/CodeGen/CGCXXABI.h"

Inheritance diagram for clang::CodeGen::CatchRetScope:
Inheritance graph
[legend]

Public Member Functions

 CatchRetScope (llvm::CatchPadInst *CPI)
 
void Emit (CodeGenFunction &CGF, Flags flags) override
 Emit the cleanup.
 
- Public Member Functions inherited from clang::CodeGen::EHScopeStack::Cleanup
 Cleanup (const Cleanup &)=default
 
 Cleanup (Cleanup &&)
 
Cleanupoperator= (const Cleanup &)=delete
 
Cleanupoperator= (Cleanup &&)=delete
 
 Cleanup ()=default
 
virtual bool isRedundantBeforeReturn ()
 
virtual void Emit (CodeGenFunction &CGF, Flags flags)=0
 Emit the cleanup.
 

Public Attributes

llvm::CatchPadInst * CPI
 

Additional Inherited Members

- Protected Member Functions inherited from clang::CodeGen::EHScopeStack::Cleanup
 ~Cleanup ()=default
 

Detailed Description

Definition at line 671 of file CGCXXABI.h.

Constructor & Destructor Documentation

◆ CatchRetScope()

clang::CodeGen::CatchRetScope::CatchRetScope ( llvm::CatchPadInst *  CPI)
inline

Definition at line 674 of file CGCXXABI.h.

Member Function Documentation

◆ Emit()

void clang::CodeGen::CatchRetScope::Emit ( CodeGenFunction CGF,
Flags  flags 
)
inlineoverridevirtual

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.

Implements clang::CodeGen::EHScopeStack::Cleanup.

Definition at line 676 of file CGCXXABI.h.

References clang::CodeGen::CodeGenFunction::Builder, CPI, clang::CodeGen::CodeGenFunction::createBasicBlock(), and clang::CodeGen::CodeGenFunction::EmitBlock().

Member Data Documentation

◆ CPI

llvm::CatchPadInst* clang::CodeGen::CatchRetScope::CPI

Definition at line 672 of file CGCXXABI.h.

Referenced by Emit().


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