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

Go to the source code of this file.

Namespaces

namespace  clang
 Top level wrappers for InstallAPI frontend operations.
namespace  clang::CIRGen

Functions

static const EHPersonality & getCPersonality (const TargetInfo &target, const CodeGenOptions &cgOpts)
static const EHPersonality & getObjCPersonality (const TargetInfo &target, const LangOptions &langOpts, const CodeGenOptions &cgOpts)
static const EHPersonality & getCXXPersonality (const TargetInfo &target, const CodeGenOptions &cgOpts)
static const EHPersonality & getObjCXXPersonality (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 EHPersonality & getSEHPersonalityMSVC (const llvm::Triple &triple)
const EHPersonality & clang::CIRGen::getEHPersonality (CIRGenModule &cgm, const clang::FunctionDecl *fd)
 Selects the personality function to use for fd, or for the translation unit as a whole when fd is null.
const EHPersonality & clang::CIRGen::getEHPersonality (CIRGenFunction &cgf)
 Selects the personality function to use for the function currently being emitted.
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, SourceLocation clangLoc)
 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,
SourceLocation clangLoc )
static

◆ getPersonalityFn()

◆ getSEHPersonalityMSVC()

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

◆ initCatchParam()