clang
9.0.0svn
|
A scope which attempts to handle some, possibly all, types of exceptions. More...
#include "/opt/doxygen-docs/src/llvm/tools/clang/lib/CodeGen/CGCleanup.h"
Classes | |
struct | Handler |
Public Types | |
typedef const Handler * | iterator |
![]() | |
enum | Kind { Cleanup, Catch, Terminate, Filter, PadEnd } |
Public Member Functions | |
EHCatchScope (unsigned numHandlers, EHScopeStack::stable_iterator enclosingEHScope) | |
unsigned | getNumHandlers () const |
void | setCatchAllHandler (unsigned I, llvm::BasicBlock *Block) |
void | setHandler (unsigned I, llvm::Constant *Type, llvm::BasicBlock *Block) |
void | setHandler (unsigned I, CatchTypeInfo Type, llvm::BasicBlock *Block) |
const Handler & | getHandler (unsigned I) const |
void | clearHandlerBlocks () |
iterator | begin () const |
iterator | end () const |
![]() | |
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 | getSizeForNumHandlers (unsigned N) |
static bool | classof (const EHScope *Scope) |
Friends | |
class | EHScopeStack |
Additional Inherited Members | |
![]() | |
union { | |
CommonBitFields CommonBits | |
CatchBitFields CatchBits | |
CleanupBitFields CleanupBits | |
FilterBitFields FilterBits | |
}; | |
A scope which attempts to handle some, possibly all, types of exceptions.
Objective C @finally blocks are represented using a cleanup scope after the catch scope.
Definition at line 147 of file CGCleanup.h.
typedef const Handler* clang::CodeGen::EHCatchScope::iterator |
Definition at line 222 of file CGCleanup.h.
|
inline |
Definition at line 181 of file CGCleanup.h.
|
inline |
Definition at line 223 of file CGCleanup.h.
Definition at line 226 of file CGCleanup.h.
References clang::CodeGen::EHScope::getKind().
|
inline |
Definition at line 217 of file CGCleanup.h.
|
inline |
Definition at line 224 of file CGCleanup.h.
|
inline |
Definition at line 208 of file CGCleanup.h.
Referenced by emitCatchDispatchBlock(), emitCatchPadBlock(), emitWasmCatchPadBlock(), clang::CodeGen::CodeGenFunction::FinallyInfo::exit(), and clang::CodeGen::CodeGenFunction::getEHDispatchBlock().
|
inline |
Definition at line 188 of file CGCleanup.h.
Referenced by emitCatchDispatchBlock(), emitCatchPadBlock(), emitWasmCatchPadBlock(), clang::CodeGen::CodeGenFunction::getEHDispatchBlock(), and clang::CodeGen::EHScopeStack::popCatch().
|
inlinestatic |
Definition at line 177 of file CGCleanup.h.
Referenced by clang::CodeGen::EHScopeStack::pushCatch().
|
inline |
Definition at line 192 of file CGCleanup.h.
Referenced by clang::CodeGen::CodeGenFunction::FinallyInfo::enter().
|
inline |
Definition at line 196 of file CGCleanup.h.
References Type.
|
inline |
Definition at line 202 of file CGCleanup.h.
References Type.
|
friend |
Definition at line 166 of file CGCleanup.h.