clang 23.0.0git
CIRGenException.cpp File Reference
#include "CIRGenCXXABI.h"
#include "CIRGenFunction.h"
#include "mlir/IR/Block.h"
#include "mlir/IR/Location.h"
#include "clang/CIR/MissingFeatures.h"
#include "llvm/Support/SaveAndRestore.h"

Go to the source code of this file.

Functions

static const EHPersonalitygetCPersonality (const TargetInfo &target, const CodeGenOptions &cgOpts)
static const EHPersonalitygetObjCPersonality (const TargetInfo &target, const LangOptions &langOpts, const CodeGenOptions &cgOpts)
static const EHPersonalitygetCXXPersonality (const TargetInfo &target, const CodeGenOptions &cgOpts)
static const EHPersonalitygetObjCXXPersonality (const TargetInfo &target, const LangOptions &langOpts, const CodeGenOptions &cgOpts)
 Determines the personality function to use when both C++ and Objective-C exceptions are being caught.
static const EHPersonalitygetSEHPersonalityMSVC (const llvm::Triple &triple)
static llvm::StringRef getPersonalityFn (CIRGenModule &cgm, const EHPersonality &personality)
static mlir::Value callBeginCatch (CIRGenFunction &cgf, mlir::Value ehToken, mlir::Type exnPtrTy)
static cir::FuncOp getOrCreateCopyThunk (CIRGenFunction &cgf, const VarDecl &catchParam, cir::PointerType paramAddrType, mlir::Location loc)
 Get or create the catch-init copy thunk for catchParam.
static void initCatchParam (CIRGenFunction &cgf, CIRGenBuilderTy &builder, mlir::Value ehToken, const VarDecl &catchParam, SourceLocation loc)
 A "special initializer" callback for initializing a catch parameter during catch initialization.

Function Documentation

◆ callBeginCatch()

◆ getCPersonality()

◆ getCXXPersonality()

◆ getObjCPersonality()

◆ getObjCXXPersonality()

◆ getOrCreateCopyThunk()

cir::FuncOp getOrCreateCopyThunk ( CIRGenFunction & cgf,
const VarDecl & catchParam,
cir::PointerType paramAddrType,
mlir::Location loc )
static

◆ getPersonalityFn()

◆ getSEHPersonalityMSVC()

const EHPersonality & getSEHPersonalityMSVC ( const llvm::Triple & triple)
static

◆ initCatchParam()