clang: clang::CodeGen::EHPersonality Struct Reference (original) (raw)

The exceptions personality for a function. More...

#include "[/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/CodeGen/CGCleanup.h](CGCleanup%5F8h%5Fsource.html)"

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 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.

get() [1/2]

get() [2/2]

Definition at line 236 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().

isMSVCPersonality()

bool clang::CodeGen::EHPersonality::isMSVCPersonality ( ) const inline

isMSVCXXPersonality()

bool clang::CodeGen::EHPersonality::isMSVCXXPersonality ( ) const inline

isWasmPersonality()

bool clang::CodeGen::EHPersonality::isWasmPersonality ( ) const inline

usesFuncletPads()

bool clang::CodeGen::EHPersonality::usesFuncletPads ( ) const inline

CatchallRethrowFn

const char* clang::CodeGen::EHPersonality::CatchallRethrowFn

GNU_C

const EHPersonality EHPersonality::GNU_C = { "__gcc_personality_v0", nullptr } static

GNU_C_SEH

const EHPersonality EHPersonality::GNU_C_SEH = { "__gcc_personality_seh0", nullptr } static

GNU_C_SJLJ

const EHPersonality EHPersonality::GNU_C_SJLJ = { "__gcc_personality_sj0", nullptr } static

GNU_CPlusPlus

const EHPersonality EHPersonality::GNU_CPlusPlus = { "__gxx_personality_v0", nullptr } static

GNU_CPlusPlus_SEH

const EHPersonality EHPersonality::GNU_CPlusPlus_SEH = { "__gxx_personality_seh0", nullptr } static

GNU_CPlusPlus_SJLJ

const EHPersonality EHPersonality::GNU_CPlusPlus_SJLJ = { "__gxx_personality_sj0", nullptr } static

GNU_ObjC

const EHPersonality EHPersonality::GNU_ObjC = {"__gnu_objc_personality_v0", "objc_exception_throw"} static

GNU_ObjC_SEH

const EHPersonality EHPersonality::GNU_ObjC_SEH = {"__gnu_objc_personality_seh0", "objc_exception_throw"} static

GNU_ObjC_SJLJ

const EHPersonality EHPersonality::GNU_ObjC_SJLJ = {"__gnu_objc_personality_sj0", "objc_exception_throw"} static

GNU_ObjCXX

const EHPersonality EHPersonality::GNU_ObjCXX = { "__gnustep_objcxx_personality_v0", nullptr } static

GNU_Wasm_CPlusPlus

const EHPersonality EHPersonality::GNU_Wasm_CPlusPlus = { "__gxx_wasm_personality_v0", nullptr } static

GNUstep_ObjC

const EHPersonality EHPersonality::GNUstep_ObjC = { "__gnustep_objc_personality_v0", nullptr } static

MSVC_C_specific_handler

const EHPersonality EHPersonality::MSVC_C_specific_handler = { "__C_specific_handler", nullptr } static

MSVC_CxxFrameHandler3

const EHPersonality EHPersonality::MSVC_CxxFrameHandler3 = { "__CxxFrameHandler3", nullptr } static

MSVC_except_handler

const EHPersonality EHPersonality::MSVC_except_handler = { "_except_handler3", nullptr } static

NeXT_ObjC

const EHPersonality EHPersonality::NeXT_ObjC = { "__objc_personality_v0", nullptr } static

PersonalityFn

const char* clang::CodeGen::EHPersonality::PersonalityFn

XL_CPlusPlus

ZOS_CPlusPlus


The documentation for this struct was generated from the following files: