|
clang 22.0.0git
|
A scope which attempts to handle some, possibly all, types of exceptions. More...
#include "/work/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/CodeGen/CGCleanup.h"
Classes | |
| struct | Handler |
Public Types | |
| typedef const Handler * | iterator |
| Public Types inherited from clang::CodeGen::EHScope | |
| enum | Kind { Cleanup , Catch , Terminate , Filter } |
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 |
| 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 | getSizeForNumHandlers (unsigned N) |
| static bool | classof (const EHScope *Scope) |
Friends | |
| class | EHScopeStack |
Additional Inherited Members | |
| Protected Attributes inherited from clang::CodeGen::EHScope | |
| 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 162 of file CGCleanup.h.
| typedef const Handler* clang::CodeGen::EHCatchScope::iterator |
Definition at line 237 of file CGCleanup.h.
|
inline |
Definition at line 196 of file CGCleanup.h.
References clang::CodeGen::EHScope::Catch, clang::CodeGen::EHScope::CatchBits, and clang::CodeGen::EHScope::EHScope().
Referenced by getSizeForNumHandlers().
|
inline |
Definition at line 238 of file CGCleanup.h.
Referenced by clang::CodeGen::CodeGenFunction::ExitCXXTryStmt().
Definition at line 241 of file CGCleanup.h.
References clang::CodeGen::EHScope::Catch, and clang::CodeGen::EHScope::EHScope().
|
inline |
Definition at line 232 of file CGCleanup.h.
References clang::CodeGen::EHCatchScope::Handler::Block, getHandler(), and getNumHandlers().
Referenced by clang::CodeGen::CodeGenFunction::ExitCXXTryStmt(), and clang::CodeGen::CodeGenFunction::ExitSEHTryStmt().
|
inline |
Definition at line 239 of file CGCleanup.h.
References getNumHandlers().
Definition at line 223 of file CGCleanup.h.
References getNumHandlers().
Referenced by clearHandlerBlocks(), emitCatchDispatchBlock(), emitCatchPadBlock(), clang::CodeGen::CodeGenFunction::EmitLandingPad(), emitWasmCatchPadBlock(), clang::CodeGen::CodeGenFunction::FinallyInfo::exit(), clang::CodeGen::CodeGenFunction::ExitSEHTryStmt(), and clang::CodeGen::CodeGenFunction::getEHDispatchBlock().
|
inline |
Definition at line 203 of file CGCleanup.h.
References clang::CodeGen::EHScope::CatchBits.
Referenced by clearHandlerBlocks(), emitCatchDispatchBlock(), emitCatchPadBlock(), clang::CodeGen::CodeGenFunction::EmitLandingPad(), emitWasmCatchPadBlock(), end(), clang::CodeGen::CodeGenFunction::ExitCXXTryStmt(), clang::CodeGen::CodeGenFunction::getEHDispatchBlock(), getHandler(), clang::CodeGen::EHScopeStack::popCatch(), setHandler(), and setHandler().
Definition at line 192 of file CGCleanup.h.
References EHCatchScope().
Referenced by clang::CodeGen::EHScopeStack::iterator::operator++(), and clang::CodeGen::EHScopeStack::popCatch().
|
inline |
Definition at line 207 of file CGCleanup.h.
References clang::Block, and setHandler().
Referenced by clang::CodeGen::CodeGenFunction::FinallyInfo::enter(), and clang::CodeGen::CodeGenFunction::EnterSEHTryStmt().
|
inline |
Definition at line 217 of file CGCleanup.h.
References clang::Block, getNumHandlers(), and clang::CodeGen::Type.
|
inline |
Definition at line 211 of file CGCleanup.h.
References clang::Block, getNumHandlers(), and clang::CodeGen::Type.
Referenced by clang::CodeGen::CGObjCRuntime::EmitTryCatchStmt(), clang::CodeGen::CodeGenFunction::EnterCXXTryStmt(), clang::CodeGen::CodeGenFunction::EnterSEHTryStmt(), and setCatchAllHandler().
|
friend |