|
clang 23.0.0git
|
#include "CIRGenCXXABI.h"#include "CIRGenFunction.h"#include "clang/CIR/MissingFeatures.h"#include "llvm/Support/SaveAndRestore.h"Go to the source code of this file.
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) |
| static llvm::StringRef | getPersonalityFn (CIRGenModule &cgm, const EHPersonality &personality) |
| static void | emitCatchDispatchBlock (CIRGenFunction &cgf, EHCatchScope &catchScope, cir::TryOp tryOp) |
| Emit the structure of the dispatch block for the given catch scope. | |
|
static |
Emit the structure of the dispatch block for the given catch scope.
It is an invariant that the dispatch block already exists.
Definition at line 371 of file CIRGenException.cpp.
References clang::CIRGen::EHCatchScope::begin(), clang::CIRGen::CIRGenFunction::cgm, clang::CIRGen::EHCatchScope::end(), clang::CIRGen::CIRGenModule::errorNYI(), clang::CIRGen::EHPersonality::get(), clang::CIRGen::EHScope::getEnclosingEHScope(), and clang::CIRGen::CIRGenFunction::populateEHCatchRegions().
Referenced by clang::CodeGen::CodeGenFunction::ExitCXXTryStmt(), clang::CIRGen::CIRGenFunction::exitCXXTryStmt(), clang::CodeGen::CodeGenFunction::ExitSEHTryStmt(), and clang::CodeGen::CodeGenFunction::popCatchScope().
|
static |
Definition at line 58 of file CIRGenException.cpp.
References clang::TargetInfo::getTriple(), clang::CIRGen::EHPersonality::GNU_C, clang::CIRGen::EHPersonality::GNU_C_SEH, clang::CIRGen::EHPersonality::GNU_C_SJLJ, clang::CodeGenOptions::hasDWARFExceptions(), clang::CodeGenOptions::hasSEHExceptions(), clang::CodeGenOptions::hasSjLjExceptions(), and clang::CIRGen::EHPersonality::MSVC_CxxFrameHandler3.
Referenced by clang::CIRGen::EHPersonality::get(), clang::CodeGen::EHPersonality::get(), getObjCPersonality(), and getObjCPersonality().
|
static |
Definition at line 101 of file CIRGenException.cpp.
References clang::TargetInfo::getTriple(), clang::CIRGen::EHPersonality::GNU_CPlusPlus, clang::CIRGen::EHPersonality::GNU_CPlusPlus_SEH, clang::CIRGen::EHPersonality::GNU_CPlusPlus_SJLJ, clang::CIRGen::EHPersonality::GNU_Wasm_CPlusPlus, clang::CodeGenOptions::hasDWARFExceptions(), clang::CodeGenOptions::hasSEHExceptions(), clang::CodeGenOptions::hasSjLjExceptions(), clang::CodeGenOptions::hasWasmExceptions(), clang::CIRGen::EHPersonality::MSVC_CxxFrameHandler3, and clang::CIRGen::EHPersonality::XL_CPlusPlus.
Referenced by clang::CIRGen::EHPersonality::get(), clang::CodeGen::EHPersonality::get(), getObjCXXPersonality(), and getObjCXXPersonality().
|
static |
Definition at line 72 of file CIRGenException.cpp.
References clang::ObjCRuntime::FragileMacOSX, clang::ObjCRuntime::GCC, getCPersonality(), clang::ObjCRuntime::getKind(), clang::TargetInfo::getTriple(), clang::ObjCRuntime::getVersion(), clang::CIRGen::EHPersonality::GNU_ObjC, clang::CIRGen::EHPersonality::GNU_ObjC_SEH, clang::CIRGen::EHPersonality::GNU_ObjC_SJLJ, clang::ObjCRuntime::GNUstep, clang::CIRGen::EHPersonality::GNUstep_ObjC, clang::CodeGenOptions::hasSEHExceptions(), clang::CodeGenOptions::hasSjLjExceptions(), clang::ObjCRuntime::iOS, clang::ObjCRuntime::MacOSX, clang::CIRGen::EHPersonality::MSVC_CxxFrameHandler3, clang::CIRGen::EHPersonality::NeXT_ObjC, clang::LangOptions::ObjCRuntime, clang::ObjCRuntime::ObjFW, and clang::ObjCRuntime::WatchOS.
Referenced by clang::CIRGen::EHPersonality::get(), clang::CodeGen::EHPersonality::get(), getObjCXXPersonality(), and getObjCXXPersonality().
|
static |
Determines the personality function to use when both C++ and Objective-C exceptions are being caught.
Definition at line 121 of file CIRGenException.cpp.
References clang::ObjCRuntime::FragileMacOSX, clang::ObjCRuntime::GCC, getCXXPersonality(), clang::ObjCRuntime::getKind(), getObjCPersonality(), clang::TargetInfo::getTriple(), clang::CIRGen::EHPersonality::GNU_ObjCXX, clang::ObjCRuntime::GNUstep, clang::ObjCRuntime::iOS, clang::ObjCRuntime::MacOSX, clang::CIRGen::EHPersonality::MSVC_CxxFrameHandler3, clang::LangOptions::ObjCRuntime, clang::ObjCRuntime::ObjFW, and clang::ObjCRuntime::WatchOS.
Referenced by clang::CIRGen::EHPersonality::get(), and clang::CodeGen::EHPersonality::get().
|
static |
Definition at line 187 of file CIRGenException.cpp.
References clang::CIRGen::CIRGenModule::createRuntimeFunction(), clang::CIRGen::CIRGenModule::getBuilder(), and clang::CIRGen::EHPersonality::personalityFn.
Referenced by getOpaquePersonalityFn(), and clang::CIRGen::CIRGenFunction::populateCatchHandlersIfRequired().
|
static |
Definition at line 153 of file CIRGenException.cpp.
References clang::CIRGen::EHPersonality::MSVC_C_specific_handler, and clang::CIRGen::EHPersonality::MSVC_except_handler.
Referenced by clang::CIRGen::EHPersonality::get(), and clang::CodeGen::EHPersonality::get().