|
clang 22.0.0git
|
#include "CIRGenCXXABI.h"#include "CIRGenFunction.h"#include "clang/AST/StmtVisitor.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 372 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 59 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 102 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 73 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 122 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 188 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 154 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().