clang 20.0.0git
Classes | Public Types | Public Member Functions | Protected Attributes | List of all members
clang::CodeGen::EHScope Class Reference

A protected scope for zero-cost EH handling. More...

#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/CodeGen/CGCleanup.h"

Inheritance diagram for clang::CodeGen::EHScope:
Inheritance graph
[legend]

Classes

class  CatchBitFields
 
class  CleanupBitFields
 
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
 
}; 
 

Detailed Description

A protected scope for zero-cost EH handling.

Definition at line 45 of file CGCleanup.h.

Member Enumeration Documentation

◆ Kind

Enumerator
Cleanup 
Catch 
Terminate 
Filter 

Definition at line 47 of file CGCleanup.h.

Constructor & Destructor Documentation

◆ EHScope()

clang::CodeGen::EHScope::EHScope ( Kind  kind,
EHScopeStack::stable_iterator  enclosingEHScope 
)
inline

Definition at line 118 of file CGCleanup.h.

References CommonBits.

Member Function Documentation

◆ getCachedEHDispatchBlock()

llvm::BasicBlock * clang::CodeGen::EHScope::getCachedEHDispatchBlock ( ) const
inline

◆ getCachedLandingPad()

llvm::BasicBlock * clang::CodeGen::EHScope::getCachedLandingPad ( ) const
inline

Definition at line 126 of file CGCleanup.h.

◆ getEnclosingEHScope()

EHScopeStack::stable_iterator clang::CodeGen::EHScope::getEnclosingEHScope ( ) const
inline

◆ getKind()

Kind clang::CodeGen::EHScope::getKind ( ) const
inline

◆ hasEHBranches()

bool clang::CodeGen::EHScope::hasEHBranches ( ) const
inline

Definition at line 142 of file CGCleanup.h.

References getCachedEHDispatchBlock().

Referenced by IsUsedAsEHCleanup().

◆ setCachedEHDispatchBlock()

void clang::CodeGen::EHScope::setCachedEHDispatchBlock ( llvm::BasicBlock *  block)
inline

Definition at line 138 of file CGCleanup.h.

◆ setCachedLandingPad()

void clang::CodeGen::EHScope::setCachedLandingPad ( llvm::BasicBlock *  block)
inline

Definition at line 130 of file CGCleanup.h.

Member Data Documentation

◆ 

union { ... } clang::CodeGen::EHScope::@306

◆ CatchBits

CatchBitFields clang::CodeGen::EHScope::CatchBits

◆ CleanupBits

CleanupBitFields clang::CodeGen::EHScope::CleanupBits

◆ CommonBits

CommonBitFields clang::CodeGen::EHScope::CommonBits

Definition at line 111 of file CGCleanup.h.

Referenced by EHScope(), and getKind().

◆ FilterBits

FilterBitFields clang::CodeGen::EHScope::FilterBits

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