clang 22.0.0git
|
A stack of scopes which respond to exceptions, including cleanups and catch blocks. More...
#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/CIR/CodeGen/EHScopeStack.h"
Classes | |
class | Cleanup |
Information for lazily generating a cleanup. More... | |
class | iterator |
A non-stable pointer into the scope stack. More... | |
class | stable_iterator |
A saved depth on the scope stack. More... | |
Public Types | |
enum | { ScopeStackAlignment = 8 } |
Public Member Functions | |
EHScopeStack ()=default | |
~EHScopeStack ()=default | |
template<class T , class... As> | |
void | pushCleanup (CleanupKind kind, As... a) |
Push a lazily-created cleanup on the stack. | |
void | setCGF (CIRGenFunction *inCGF) |
void | popCleanup () |
Pops a cleanup scope off the stack. This is private to CIRGenCleanup.cpp. | |
bool | empty () const |
Determines whether the exception-scopes stack is empty. | |
iterator | begin () const |
Returns an iterator pointing to the innermost EH scope. | |
stable_iterator | stable_begin () const |
Create a stable reference to the top of the EH stack. | |
Static Public Member Functions | |
static stable_iterator | stable_end () |
Create a stable reference to the bottom of the EH stack. | |
Friends | |
class | CIRGenFunction |
A stack of scopes which respond to exceptions, including cleanups and catch blocks.
Definition at line 44 of file EHScopeStack.h.
anonymous enum |
Enumerator | |
---|---|
ScopeStackAlignment |
Definition at line 49 of file EHScopeStack.h.
|
default |
|
default |
|
inline |
Returns an iterator pointing to the innermost EH scope.
Definition at line 137 of file CIRGenCleanup.h.
Referenced by popCleanup().
|
inline |
Determines whether the exception-scopes stack is empty.
Definition at line 162 of file EHScopeStack.h.
Referenced by popCleanup().
void EHScopeStack::popCleanup | ( | ) |
Pops a cleanup scope off the stack. This is private to CIRGenCleanup.cpp.
Definition at line 92 of file CIRGenCleanup.cpp.
References begin(), cir::MissingFeatures::ehCleanupBranchFixups(), and empty().
|
inline |
Push a lazily-created cleanup on the stack.
Definition at line 149 of file EHScopeStack.h.
References ScopeStackAlignment, and clang::T.
|
inline |
Definition at line 156 of file EHScopeStack.h.
Referenced by clang::CIRGen::CIRGenFunction::CIRGenFunction().
|
inline |
Create a stable reference to the top of the EH stack.
The returned reference is valid until that scope is popped off the stack.
Definition at line 174 of file EHScopeStack.h.
Referenced by clang::CIRGen::CIRGenFunction::emitReturnStmt(), clang::CIRGen::CIRGenFunction::finishFunction(), clang::CIRGen::CIRGenFunction::RunCleanupsScope::RunCleanupsScope(), and clang::CIRGen::CIRGenFunction::startFunction().
|
inlinestatic |
Create a stable reference to the bottom of the EH stack.
Definition at line 179 of file EHScopeStack.h.
|
friend |
Definition at line 45 of file EHScopeStack.h.