clang API Documentation

Classes | Public Types | Public Member Functions | Protected Attributes
clang::CodeGen::EHScope Class Reference

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

#include <CGCleanup.h>

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

List of all members.

Classes

class  CatchBitFields
class  CleanupBitFields
class  CommonBitFields
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 32 of file CGCleanup.h.


Member Enumeration Documentation

Enumerator:
Cleanup 
Catch 
Terminate 
Filter 

Definition at line 96 of file CGCleanup.h.


Constructor & Destructor Documentation

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

Definition at line 98 of file CGCleanup.h.

References CommonBits.


Member Function Documentation

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

Definition at line 106 of file CGCleanup.h.

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

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

Definition at line 110 of file CGCleanup.h.


Member Data Documentation

union { ... } [protected]

Definition at line 89 of file CGCleanup.h.

Referenced by EHScope(), and getKind().


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