clang  6.0.0svn
Classes | Namespaces | Enumerations
EHScopeStack.h File Reference
#include "clang/Basic/LLVM.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/IR/BasicBlock.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/Value.h"
Include dependency graph for EHScopeStack.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.


struct  clang::CodeGen::BranchFixup
 A branch fixup. More...
struct  clang::CodeGen::InvariantValue< T >
struct  clang::CodeGen::DominatingValue< T >
 A metaprogramming class for ensuring that a value will dominate an arbitrary position in a function. More...
struct  clang::CodeGen::DominatingPointer< T, mightBeInstruction >
struct  clang::CodeGen::DominatingPointer< T, false >
struct  clang::CodeGen::DominatingValue< T * >
class  clang::CodeGen::EHScopeStack
 A stack of scopes which respond to exceptions, including cleanups and catch blocks. More...
class  clang::CodeGen::EHScopeStack::stable_iterator
 A saved depth on the scope stack. More...
class  clang::CodeGen::EHScopeStack::Cleanup
 Information for lazily generating a cleanup. More...
class  clang::CodeGen::EHScopeStack::Cleanup::Flags
 Generation flags. More...
class  clang::CodeGen::EHScopeStack::ConditionalCleanup< T, As >
 ConditionalCleanup stores the saved form of its parameters, then restores them and performs the cleanup. More...


 Dataflow Directional Tag Classes.


enum  clang::CodeGen::CleanupKind : unsigned {
  clang::CodeGen::EHCleanup = 0x1, clang::CodeGen::NormalCleanup = 0x2, clang::CodeGen::NormalAndEHCleanup = EHCleanup | NormalCleanup, clang::CodeGen::InactiveCleanup = 0x4,
  clang::CodeGen::InactiveEHCleanup = EHCleanup | InactiveCleanup, clang::CodeGen::InactiveNormalCleanup = NormalCleanup | InactiveCleanup, clang::CodeGen::InactiveNormalAndEHCleanup = NormalAndEHCleanup | InactiveCleanup, clang::CodeGen::LifetimeMarker = 0x8,
  clang::CodeGen::NormalEHLifetimeMarker = LifetimeMarker | NormalAndEHCleanup