clang 22.0.0git
clang::CIRGen::EHScopeStack Class Reference

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.
iterator find (stable_iterator savePoint) const
 Turn a stable reference to a scope depth into a unstable pointer to 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

Detailed Description

A stack of scopes which respond to exceptions, including cleanups and catch blocks.

Definition at line 44 of file EHScopeStack.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
ScopeStackAlignment 

Definition at line 49 of file EHScopeStack.h.

Constructor & Destructor Documentation

◆ EHScopeStack()

clang::CIRGen::EHScopeStack::EHScopeStack ( )
default

◆ ~EHScopeStack()

clang::CIRGen::EHScopeStack::~EHScopeStack ( )
default

Member Function Documentation

◆ begin()

EHScopeStack::iterator clang::CIRGen::EHScopeStack::begin ( ) const
inline

Returns an iterator pointing to the innermost EH scope.

Definition at line 138 of file CIRGenCleanup.h.

◆ empty()

bool clang::CIRGen::EHScopeStack::empty ( ) const
inline

Determines whether the exception-scopes stack is empty.

Definition at line 159 of file EHScopeStack.h.

◆ find()

EHScopeStack::iterator clang::CIRGen::EHScopeStack::find ( stable_iterator savePoint) const
inline

Turn a stable reference to a scope depth into a unstable pointer to the EH stack.

Definition at line 143 of file CIRGenCleanup.h.

References clang::CIRGen::EHScopeStack::stable_iterator::isValid(), and stable_begin().

◆ popCleanup()

void clang::CIRGen::EHScopeStack::popCleanup ( )

Pops a cleanup scope off the stack. This is private to CIRGenCleanup.cpp.

◆ pushCleanup()

template<class T, class... As>
void clang::CIRGen::EHScopeStack::pushCleanup ( CleanupKind kind,
As... a )
inline

Push a lazily-created cleanup on the stack.

Definition at line 146 of file EHScopeStack.h.

References ScopeStackAlignment, and clang::T.

◆ setCGF()

void clang::CIRGen::EHScopeStack::setCGF ( CIRGenFunction * inCGF)
inline

Definition at line 153 of file EHScopeStack.h.

References CIRGenFunction.

◆ stable_begin()

stable_iterator clang::CIRGen::EHScopeStack::stable_begin ( ) const
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 171 of file EHScopeStack.h.

Referenced by find().

◆ stable_end()

stable_iterator clang::CIRGen::EHScopeStack::stable_end ( )
inlinestatic

Create a stable reference to the bottom of the EH stack.

Definition at line 180 of file EHScopeStack.h.

◆ CIRGenFunction

friend class CIRGenFunction
friend

Definition at line 45 of file EHScopeStack.h.

References CIRGenFunction.

Referenced by CIRGenFunction, clang::CIRGen::EHScopeStack::Cleanup::emit(), and setCGF().


The documentation for this class was generated from the following files: