clang  6.0.0svn
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 "/opt/doxygen-docs/src/llvm/tools/clang/lib/CodeGen/CGCleanup.h"

Inheritance diagram for clang::CodeGen::EHFilterScope:
Inheritance graph
[legend]
Collaboration diagram for clang::CodeGen::EHFilterScope:
Collaboration graph
[legend]

Public Member Functions

 EHFilterScope (unsigned numFilters)
 
unsigned getNumFilters () const
 
void setFilter (unsigned i, llvm::Value *filterValue)
 
llvm::ValuegetFilter (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,
  PadEnd
}
 
- 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 438 of file CGCleanup.h.

Constructor & Destructor Documentation

◆ EHFilterScope()

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

Definition at line 451 of file CGCleanup.h.

Member Function Documentation

◆ classof()

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

Definition at line 473 of file CGCleanup.h.

References clang::CodeGen::EHScope::getKind().

◆ getFilter()

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

Definition at line 468 of file CGCleanup.h.

◆ getNumFilters()

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

◆ getSizeForNumFilters()

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

◆ setFilter()

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

Definition at line 463 of file CGCleanup.h.


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