clang 19.0.0git
Public Member Functions | Static Public Member Functions | List of all members
clang::CodeGen::EHFilterScope Class Reference

An exceptions scope which filters exceptions thrown through it. More...

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

Inheritance diagram for clang::CodeGen::EHFilterScope:
Inheritance graph

Public Member Functions

 EHFilterScope (unsigned numFilters)
unsigned getNumFilters () const
void setFilter (unsigned i, llvm::Value *filterValue)
llvm::Value * getFilter (unsigned i) const
- Public Member Functions inherited from clang::CodeGen::EHScope
 EHScope (Kind kind, EHScopeStack::stable_iterator enclosingEHScope)
Kind getKind () const
llvm::BasicBlock * getCachedLandingPad () const
void setCachedLandingPad (llvm::BasicBlock *block)
llvm::BasicBlock * getCachedEHDispatchBlock () const
void setCachedEHDispatchBlock (llvm::BasicBlock *block)
bool hasEHBranches () const
EHScopeStack::stable_iterator getEnclosingEHScope () const

Static Public Member Functions

static size_t getSizeForNumFilters (unsigned numFilters)
static bool classof (const EHScope *scope)

Additional Inherited Members

- Public Types inherited from clang::CodeGen::EHScope
enum  Kind { Cleanup , Catch , Terminate , Filter }
- Protected Attributes inherited from clang::CodeGen::EHScope
union {
   CommonBitFields   CommonBits
   CatchBitFields   CatchBits
   CleanupBitFields   CleanupBits
   FilterBitFields   FilterBits

Detailed Description

An exceptions scope which filters exceptions thrown through it.

Only exceptions matching the filter types will be permitted to be thrown.

This is used to implement C++ exception specifications.

Definition at line 501 of file CGCleanup.h.

Constructor & Destructor Documentation

◆ EHFilterScope()

clang::CodeGen::EHFilterScope::EHFilterScope ( unsigned  numFilters)

Definition at line 514 of file CGCleanup.h.

References clang::CodeGen::EHScope::FilterBits.

Member Function Documentation

◆ classof()

static bool clang::CodeGen::EHFilterScope::classof ( const EHScope scope)

◆ getFilter()

llvm::Value * clang::CodeGen::EHFilterScope::getFilter ( unsigned  i) const

Definition at line 531 of file CGCleanup.h.

References getNumFilters().

◆ getNumFilters()

unsigned clang::CodeGen::EHFilterScope::getNumFilters ( ) const

◆ getSizeForNumFilters()

static size_t clang::CodeGen::EHFilterScope::getSizeForNumFilters ( unsigned  numFilters)

◆ setFilter()

void clang::CodeGen::EHFilterScope::setFilter ( unsigned  i,
llvm::Value *  filterValue 

Definition at line 526 of file CGCleanup.h.

References getNumFilters().

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