clang 20.0.0git
|
The exceptions personality for a function. More...
#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/CodeGen/CGCleanup.h"
Public Member Functions | |
bool | usesFuncletPads () const |
Does this personality use landingpads or the family of pad instructions designed to form funclets? | |
bool | isMSVCPersonality () const |
bool | isWasmPersonality () const |
bool | isMSVCXXPersonality () const |
Static Public Member Functions | |
static const EHPersonality & | get (CodeGenModule &CGM, const FunctionDecl *FD) |
static const EHPersonality & | get (CodeGenFunction &CGF) |
Public Attributes | |
const char * | PersonalityFn |
const char * | CatchallRethrowFn |
Static Public Attributes | |
static const EHPersonality | GNU_C = { "__gcc_personality_v0", nullptr } |
static const EHPersonality | GNU_C_SJLJ = { "__gcc_personality_sj0", nullptr } |
static const EHPersonality | GNU_C_SEH = { "__gcc_personality_seh0", nullptr } |
static const EHPersonality | GNU_ObjC = {"__gnu_objc_personality_v0", "objc_exception_throw"} |
static const EHPersonality | GNU_ObjC_SJLJ = {"__gnu_objc_personality_sj0", "objc_exception_throw"} |
static const EHPersonality | GNU_ObjC_SEH = {"__gnu_objc_personality_seh0", "objc_exception_throw"} |
static const EHPersonality | GNUstep_ObjC = { "__gnustep_objc_personality_v0", nullptr } |
static const EHPersonality | GNU_ObjCXX = { "__gnustep_objcxx_personality_v0", nullptr } |
static const EHPersonality | NeXT_ObjC = { "__objc_personality_v0", nullptr } |
static const EHPersonality | GNU_CPlusPlus = { "__gxx_personality_v0", nullptr } |
static const EHPersonality | GNU_CPlusPlus_SJLJ = { "__gxx_personality_sj0", nullptr } |
static const EHPersonality | GNU_CPlusPlus_SEH = { "__gxx_personality_seh0", nullptr } |
static const EHPersonality | MSVC_except_handler = { "_except_handler3", nullptr } |
static const EHPersonality | MSVC_C_specific_handler = { "__C_specific_handler", nullptr } |
static const EHPersonality | MSVC_CxxFrameHandler3 = { "__CxxFrameHandler3", nullptr } |
static const EHPersonality | GNU_Wasm_CPlusPlus = { "__gxx_wasm_personality_v0", nullptr } |
static const EHPersonality | XL_CPlusPlus |
static const EHPersonality | ZOS_CPlusPlus |
The exceptions personality for a function.
Definition at line 652 of file CGCleanup.h.
|
static |
Definition at line 254 of file CGException.cpp.
References clang::CodeGen::CodeGenFunction::CGM, clang::CodeGen::CodeGenFunction::CurCodeDecl, clang::CodeGen::CodeGenFunction::CurSEHParent, get(), and clang::GlobalDecl::getDecl().
|
static |
Definition at line 237 of file CGException.cpp.
References getCPersonality(), getCXXPersonality(), clang::CodeGen::CodeGenModule::getLangOpts(), getObjCPersonality(), getObjCXXPersonality(), getSEHPersonalityMSVC(), clang::CodeGen::CodeGenModule::getTarget(), clang::TargetInfo::getTriple(), clang::T, and clang::FunctionDecl::usesSEHTry().
Referenced by emitCatchDispatchBlock(), emitCatchPadBlock(), clang::CodeGen::CGObjCRuntime::EmitTryCatchStmt(), and get().
|
inline |
Definition at line 688 of file CGCleanup.h.
References MSVC_C_specific_handler, MSVC_CxxFrameHandler3, and MSVC_except_handler.
Referenced by usesFuncletPads().
|
inline |
Definition at line 695 of file CGCleanup.h.
References MSVC_CxxFrameHandler3.
|
inline |
Definition at line 693 of file CGCleanup.h.
References GNU_Wasm_CPlusPlus.
Referenced by usesFuncletPads().
|
inline |
Does this personality use landingpads or the family of pad instructions designed to form funclets?
Definition at line 684 of file CGCleanup.h.
References isMSVCPersonality(), and isWasmPersonality().
Referenced by clang::CodeGen::CGObjCRuntime::EmitTryCatchStmt().
const char* clang::CodeGen::EHPersonality::CatchallRethrowFn |
Definition at line 658 of file CGCleanup.h.
|
static |
Definition at line 663 of file CGCleanup.h.
Referenced by getCPersonality().
|
static |
Definition at line 665 of file CGCleanup.h.
Referenced by getCPersonality().
|
static |
Definition at line 664 of file CGCleanup.h.
Referenced by getCPersonality().
|
static |
Definition at line 672 of file CGCleanup.h.
Referenced by getCXXPersonality().
|
static |
Definition at line 674 of file CGCleanup.h.
Referenced by getCXXPersonality(), getObjCPersonality(), and getObjCXXPersonality().
|
static |
Definition at line 673 of file CGCleanup.h.
Referenced by getCXXPersonality().
|
static |
Definition at line 666 of file CGCleanup.h.
Referenced by getObjCPersonality().
|
static |
Definition at line 668 of file CGCleanup.h.
Referenced by getObjCPersonality().
|
static |
Definition at line 667 of file CGCleanup.h.
Referenced by getObjCPersonality().
|
static |
Definition at line 670 of file CGCleanup.h.
Referenced by getObjCXXPersonality().
|
static |
Definition at line 678 of file CGCleanup.h.
Referenced by getCXXPersonality(), and isWasmPersonality().
|
static |
Definition at line 669 of file CGCleanup.h.
Referenced by getObjCPersonality().
|
static |
Definition at line 676 of file CGCleanup.h.
Referenced by getSEHPersonalityMSVC(), and isMSVCPersonality().
|
static |
Definition at line 677 of file CGCleanup.h.
Referenced by getCPersonality(), getCXXPersonality(), getObjCPersonality(), getObjCXXPersonality(), isMSVCPersonality(), and isMSVCXXPersonality().
|
static |
Definition at line 675 of file CGCleanup.h.
Referenced by getSEHPersonalityMSVC(), and isMSVCPersonality().
|
static |
Definition at line 671 of file CGCleanup.h.
Referenced by getObjCPersonality().
const char* clang::CodeGen::EHPersonality::PersonalityFn |
Definition at line 653 of file CGCleanup.h.
Referenced by getPersonalityFn().
|
static |
Definition at line 679 of file CGCleanup.h.
Referenced by getCXXPersonality().
|
static |
Definition at line 680 of file CGCleanup.h.
Referenced by getCXXPersonality().