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().