//===--- CGException.cpp - Emit LLVM Code for C++ exceptions --------------===////// The LLVM Compiler Infrastructure//// This file is distributed under the University of Illinois Open Source// License. See LICENSE.TXT for details.////===----------------------------------------------------------------------===////// This contains code dealing with C++ exception related code generation.////===----------------------------------------------------------------------===//#include"clang/AST/StmtCXX.h"#include"llvm/Intrinsics.h"#include"llvm/IntrinsicInst.h"#include"llvm/Support/CallSite.h"#include"CGObjCRuntime.h"#include"CodeGenFunction.h"#include"CGException.h"#include"CGCleanup.h"#include"TargetInfo.h"usingnamespaceclang;usingnamespaceCodeGen;staticllvm::Constant*getAllocateExceptionFn(CodeGenFunction&CGF){// void *__cxa_allocate_exception(size_t thrown_size);constllvm::Type*SizeTy=CGF.ConvertType(CGF.getContext().getSizeType());constllvm::FunctionType*FTy=llvm::FunctionType::get(llvm::Type::getInt8PtrTy(CGF.getLLVMContext()),