//===-- ms-cxx-helper.h ---------------------------------------------------===// // // LDC – the LLVM D compiler // // This file is distributed under the BSD-style LDC license. See the LICENSE // file for details. // //===----------------------------------------------------------------------===// #ifndef LDC_GEN_MS_CXX_HELPER_H #define LDC_GEN_MS_CXX_HELPER_H #include "gen/irstate.h" llvm::StructType *getTypeDescriptorType(IRState &irs, llvm::Constant *classInfoPtr, llvm::StringRef TypeInfoString); llvm::GlobalVariable *getTypeDescriptor(IRState &irs, ClassDeclaration *cd); void findSuccessors(std::vector &blocks, llvm::BasicBlock *bb, llvm::BasicBlock *ebb); void remapBlocksValue(std::vector &blocks, llvm::Value *from, llvm::Value *to); void cloneBlocks(const std::vector &srcblocks, std::vector &blocks, llvm::BasicBlock *continueWith, llvm::BasicBlock *unwindTo, llvm::Value *funclet); bool isCatchSwitchBlock(llvm::BasicBlock* bb); #endif // LDC_GEN_MS_CXX_HELPER_H