clang
3.9.0
|
A protected scope for zero-cost EH handling. More...
#include <CGCleanup.h>
Classes | |
class | CatchBitFields |
class | CleanupBitFields |
class | FilterBitFields |
Public Types | |
enum | Kind { Cleanup, Catch, Terminate, Filter, PadEnd } |
Public Member Functions | |
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 |
Protected Attributes | |
union { | |
CommonBitFields CommonBits | |
CatchBitFields CatchBits | |
CleanupBitFields CleanupBits | |
FilterBitFields FilterBits | |
}; | |
A protected scope for zero-cost EH handling.
Definition at line 44 of file CGCleanup.h.
Enumerator | |
---|---|
Cleanup | |
Catch | |
Terminate | |
Filter | |
PadEnd |
Definition at line 106 of file CGCleanup.h.
|
inline |
Definition at line 108 of file CGCleanup.h.
References CommonBits.
|
inline |
Definition at line 124 of file CGCleanup.h.
Referenced by emitCatchDispatchBlock(), emitCatchPadBlock(), emitFilterDispatchBlock(), clang::CodeGen::CodeGenFunction::getEHDispatchBlock(), clang::CodeGen::CodeGenFunction::getMSVCDispatchBlock(), and hasEHBranches().
|
inline |
Definition at line 116 of file CGCleanup.h.
Referenced by clang::CodeGen::CodeGenFunction::getInvokeDestImpl().
|
inline |
Definition at line 138 of file CGCleanup.h.
Referenced by emitCatchDispatchBlock(), emitCatchPadBlock(), clang::CodeGen::EHScopeStack::popCatch(), clang::CodeGen::EHScopeStack::popFilter(), and clang::CodeGen::EHScopeStack::popTerminate().
|
inline |
Definition at line 114 of file CGCleanup.h.
References CommonBits.
Referenced by clang::CodeGen::EHCatchScope::classof(), clang::CodeGen::classof(), clang::CodeGen::EHFilterScope::classof(), clang::CodeGen::EHTerminateScope::classof(), clang::CodeGen::EHPadEndScope::classof(), clang::CodeGen::CodeGenFunction::getEHDispatchBlock(), clang::CodeGen::CodeGenFunction::getMSVCDispatchBlock(), and isNonEHScope().
|
inline |
Definition at line 132 of file CGCleanup.h.
References getCachedEHDispatchBlock().
Referenced by clang::CodeGen::CodeGenFunction::ExitCXXTryStmt(), clang::CodeGen::CodeGenFunction::ExitSEHTryStmt(), IsUsedAsEHCleanup(), and clang::CodeGen::CodeGenFunction::popCatchScope().
|
inline |
Definition at line 128 of file CGCleanup.h.
Referenced by clang::CodeGen::CodeGenFunction::getEHDispatchBlock(), and clang::CodeGen::CodeGenFunction::getMSVCDispatchBlock().
|
inline |
Definition at line 120 of file CGCleanup.h.
union { ... } |
CatchBitFields clang::CodeGen::EHScope::CatchBits |
Definition at line 100 of file CGCleanup.h.
Referenced by clang::CodeGen::EHCatchScope::EHCatchScope(), and clang::CodeGen::EHCatchScope::getNumHandlers().
CleanupBitFields clang::CodeGen::EHScope::CleanupBits |
Definition at line 101 of file CGCleanup.h.
CommonBitFields clang::CodeGen::EHScope::CommonBits |
Definition at line 99 of file CGCleanup.h.
FilterBitFields clang::CodeGen::EHScope::FilterBits |
Definition at line 102 of file CGCleanup.h.
Referenced by clang::CodeGen::EHFilterScope::EHFilterScope(), and clang::CodeGen::EHFilterScope::getNumFilters().