clang  6.0.0svn
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 "/opt/doxygen-docs/src/llvm/tools/clang/lib/CodeGen/CGCleanup.h"

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

Classes

class  CatchBitFields
 
class  CleanupBitFields
 
class  FilterBitFields
 

Public Types

enum  Kind {
  Cleanup, Catch, Terminate, Filter,
  PadEnd
}
 

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 44 of file CGCleanup.h.

Member Enumeration Documentation

◆ Kind

Enumerator
Cleanup 
Catch 
Terminate 
Filter 
PadEnd 

Definition at line 106 of file CGCleanup.h.

Constructor & Destructor Documentation

◆ EHScope()

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

Definition at line 108 of file CGCleanup.h.

Member Function Documentation

◆ getCachedEHDispatchBlock()

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

◆ getCachedLandingPad()

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

Definition at line 116 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

◆ setCachedEHDispatchBlock()

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

Definition at line 128 of file CGCleanup.h.

Referenced by clang::CodeGen::CodeGenFunction::getEHDispatchBlock().

◆ setCachedLandingPad()

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

Definition at line 120 of file CGCleanup.h.

Member Data Documentation

◆ @253

union { ... }

◆ CatchBits

CatchBitFields clang::CodeGen::EHScope::CatchBits

Definition at line 100 of file CGCleanup.h.

◆ CleanupBits

CleanupBitFields clang::CodeGen::EHScope::CleanupBits

Definition at line 101 of file CGCleanup.h.

◆ CommonBits

CommonBitFields clang::CodeGen::EHScope::CommonBits

Definition at line 99 of file CGCleanup.h.

◆ FilterBits

FilterBitFields clang::CodeGen::EHScope::FilterBits

Definition at line 102 of file CGCleanup.h.


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