clang API Documentation
A protected scope for zero-cost EH handling. More...
#include <CGCleanup.h>
Classes | |
class | CatchBitFields |
class | CleanupBitFields |
class | CommonBitFields |
class | FilterBitFields |
Public Types | |
enum | Kind { Cleanup, Catch, Terminate, Filter } |
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 32 of file CGCleanup.h.
Definition at line 96 of file CGCleanup.h.
clang::CodeGen::EHScope::EHScope | ( | Kind | kind, |
EHScopeStack::stable_iterator | enclosingEHScope | ||
) | [inline] |
Definition at line 98 of file CGCleanup.h.
References CommonBits.
llvm::BasicBlock* clang::CodeGen::EHScope::getCachedEHDispatchBlock | ( | ) | const [inline] |
Definition at line 114 of file CGCleanup.h.
Referenced by emitCatchDispatchBlock(), emitFilterDispatchBlock(), clang::CodeGen::EHCleanupScope::getEHBlock(), clang::CodeGen::CodeGenFunction::getEHDispatchBlock(), hasEHBranches(), and clang::CodeGen::CodeGenFunction::PopCleanupBlock().
llvm::BasicBlock* clang::CodeGen::EHScope::getCachedLandingPad | ( | ) | const [inline] |
Definition at line 106 of file CGCleanup.h.
Referenced by clang::CodeGen::CodeGenFunction::getInvokeDestImpl().
EHScopeStack::stable_iterator clang::CodeGen::EHScope::getEnclosingEHScope | ( | ) | const [inline] |
Definition at line 128 of file CGCleanup.h.
Referenced by emitCatchDispatchBlock(), clang::CodeGen::EHScopeStack::getInnermostActiveEHScope(), clang::CodeGen::EHScopeStack::popCatch(), clang::CodeGen::EHScopeStack::popCleanup(), clang::CodeGen::CodeGenFunction::PopCleanupBlock(), clang::CodeGen::EHScopeStack::popFilter(), and clang::CodeGen::EHScopeStack::popTerminate().
Kind clang::CodeGen::EHScope::getKind | ( | ) | const [inline] |
Definition at line 104 of file CGCleanup.h.
References CommonBits.
Referenced by clang::CodeGen::EHCatchScope::classof(), clang::CodeGen::EHCleanupScope::classof(), clang::CodeGen::EHFilterScope::classof(), clang::CodeGen::EHTerminateScope::classof(), clang::CodeGen::CodeGenFunction::getEHDispatchBlock(), and isNonEHScope().
bool clang::CodeGen::EHScope::hasEHBranches | ( | ) | const [inline] |
Definition at line 122 of file CGCleanup.h.
References getCachedEHDispatchBlock().
Referenced by clang::CodeGen::CodeGenFunction::ExitCXXTryStmt(), IsUsedAsEHCleanup(), clang::CodeGen::CodeGenFunction::popCatchScope(), and clang::CodeGen::CodeGenFunction::PopCleanupBlock().
void clang::CodeGen::EHScope::setCachedEHDispatchBlock | ( | llvm::BasicBlock * | block | ) | [inline] |
Definition at line 118 of file CGCleanup.h.
Referenced by clang::CodeGen::CodeGenFunction::getEHDispatchBlock(), and clang::CodeGen::EHCleanupScope::setEHBlock().
void clang::CodeGen::EHScope::setCachedLandingPad | ( | llvm::BasicBlock * | block | ) | [inline] |
Definition at line 110 of file CGCleanup.h.
union { ... } [protected] |
Definition at line 90 of file CGCleanup.h.
Referenced by clang::CodeGen::EHCatchScope::EHCatchScope(), and clang::CodeGen::EHCatchScope::getNumHandlers().
Definition at line 91 of file CGCleanup.h.
Referenced by clang::CodeGen::EHCleanupScope::EHCleanupScope(), clang::CodeGen::EHCleanupScope::getAllocatedSize(), clang::CodeGen::EHCleanupScope::getCleanupSize(), clang::CodeGen::EHCleanupScope::getFixupDepth(), clang::CodeGen::EHCleanupScope::isActive(), clang::CodeGen::EHCleanupScope::isEHCleanup(), clang::CodeGen::EHCleanupScope::isNormalCleanup(), clang::CodeGen::EHCleanupScope::setActive(), clang::CodeGen::EHCleanupScope::setTestFlagInEHCleanup(), clang::CodeGen::EHCleanupScope::setTestFlagInNormalCleanup(), clang::CodeGen::EHCleanupScope::shouldTestFlagInEHCleanup(), and clang::CodeGen::EHCleanupScope::shouldTestFlagInNormalCleanup().
CommonBitFields clang::CodeGen::EHScope::CommonBits |
Definition at line 89 of file CGCleanup.h.
Definition at line 92 of file CGCleanup.h.
Referenced by clang::CodeGen::EHFilterScope::EHFilterScope(), and clang::CodeGen::EHFilterScope::getNumFilters().