clang 24.0.0git
clang::CodeGenUtils::EHPersonality Struct Reference

The exceptions personality for a function. More...

#include "clang/CodeGenUtils/EHPersonality.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

Public Attributes

const char * PersonalityFn = nullptr
const char * CatchallRethrowFn = nullptr

Static Public Attributes

static const EHPersonality GNU_C = {"__gcc_personality_v0", nullptr}
static const EHPersonality GNU_C_SJLJ
static const EHPersonality GNU_C_SEH
static const EHPersonality GNU_ObjC
static const EHPersonality GNU_ObjC_SJLJ
static const EHPersonality GNU_ObjC_SEH
static const EHPersonality GNUstep_ObjC
static const EHPersonality GNU_ObjCXX
static const EHPersonality NeXT_ObjC
static const EHPersonality GNU_CPlusPlus
static const EHPersonality GNU_CPlusPlus_SJLJ
static const EHPersonality GNU_CPlusPlus_SEH
static const EHPersonality MSVC_except_handler
static const EHPersonality MSVC_C_specific_handler
static const EHPersonality MSVC_CxxFrameHandler3
static const EHPersonality GNU_Wasm_CPlusPlus
static const EHPersonality XL_CPlusPlus
static const EHPersonality ZOS_CPlusPlus

Detailed Description

The exceptions personality for a function.

Definition at line 20 of file EHPersonality.h.

Member Function Documentation

◆ isMSVCPersonality()

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

◆ isMSVCXXPersonality()

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

Definition at line 60 of file EHPersonality.h.

References MSVC_CxxFrameHandler3.

Referenced by clang::CodeGen::CodeGenFunction::EmitCall().

◆ isWasmPersonality()

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

◆ usesFuncletPads()

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

Member Data Documentation

◆ CatchallRethrowFn

const char* clang::CodeGenUtils::EHPersonality::CatchallRethrowFn = nullptr

Definition at line 26 of file EHPersonality.h.

Referenced by clang::CodeGen::CodeGenFunction::getEHResumeBlock().

◆ GNU_C

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

Definition at line 28 of file EHPersonality.h.

◆ GNU_C_SEH

const EHPersonality clang::CodeGenUtils::EHPersonality::GNU_C_SEH
static
Initial value:
= {"__gcc_personality_seh0",
nullptr}

Definition at line 30 of file EHPersonality.h.

◆ GNU_C_SJLJ

const EHPersonality clang::CodeGenUtils::EHPersonality::GNU_C_SJLJ
static
Initial value:
= {"__gcc_personality_sj0",
nullptr}

Definition at line 29 of file EHPersonality.h.

◆ GNU_CPlusPlus

const EHPersonality clang::CodeGenUtils::EHPersonality::GNU_CPlusPlus
static
Initial value:
= {"__gxx_personality_v0",
nullptr}

Definition at line 37 of file EHPersonality.h.

◆ GNU_CPlusPlus_SEH

const EHPersonality clang::CodeGenUtils::EHPersonality::GNU_CPlusPlus_SEH
static
Initial value:
= {
"__gxx_personality_seh0", nullptr}

Definition at line 39 of file EHPersonality.h.

◆ GNU_CPlusPlus_SJLJ

const EHPersonality clang::CodeGenUtils::EHPersonality::GNU_CPlusPlus_SJLJ
static
Initial value:
= {
"__gxx_personality_sj0", nullptr}

Definition at line 38 of file EHPersonality.h.

◆ GNU_ObjC

const EHPersonality clang::CodeGenUtils::EHPersonality::GNU_ObjC
static
Initial value:
= {"__gnu_objc_personality_v0",
"objc_exception_throw"}

Definition at line 31 of file EHPersonality.h.

◆ GNU_ObjC_SEH

const EHPersonality clang::CodeGenUtils::EHPersonality::GNU_ObjC_SEH
static
Initial value:
= {
"__gnu_objc_personality_seh0", "objc_exception_throw"}

Definition at line 33 of file EHPersonality.h.

◆ GNU_ObjC_SJLJ

const EHPersonality clang::CodeGenUtils::EHPersonality::GNU_ObjC_SJLJ
static
Initial value:
= {
"__gnu_objc_personality_sj0", "objc_exception_throw"}

Definition at line 32 of file EHPersonality.h.

◆ GNU_ObjCXX

const EHPersonality clang::CodeGenUtils::EHPersonality::GNU_ObjCXX
static
Initial value:
= {
"__gnustep_objcxx_personality_v0", nullptr}

Definition at line 35 of file EHPersonality.h.

◆ GNU_Wasm_CPlusPlus

const EHPersonality clang::CodeGenUtils::EHPersonality::GNU_Wasm_CPlusPlus
static
Initial value:
= {
"__gxx_wasm_personality_v0", nullptr}

Definition at line 43 of file EHPersonality.h.

Referenced by isWasmPersonality().

◆ GNUstep_ObjC

const EHPersonality clang::CodeGenUtils::EHPersonality::GNUstep_ObjC
static
Initial value:
= {
"__gnustep_objc_personality_v0", nullptr}

Definition at line 34 of file EHPersonality.h.

◆ MSVC_C_specific_handler

const EHPersonality clang::CodeGenUtils::EHPersonality::MSVC_C_specific_handler
static
Initial value:
= {
"__C_specific_handler", nullptr}

Definition at line 41 of file EHPersonality.h.

Referenced by isMSVCPersonality().

◆ MSVC_CxxFrameHandler3

const EHPersonality clang::CodeGenUtils::EHPersonality::MSVC_CxxFrameHandler3
static
Initial value:
= {
"__CxxFrameHandler3", nullptr}

Definition at line 42 of file EHPersonality.h.

Referenced by isMSVCPersonality(), and isMSVCXXPersonality().

◆ MSVC_except_handler

const EHPersonality clang::CodeGenUtils::EHPersonality::MSVC_except_handler
static
Initial value:
= {"_except_handler3",
nullptr}

Definition at line 40 of file EHPersonality.h.

Referenced by isMSVCPersonality().

◆ NeXT_ObjC

const EHPersonality clang::CodeGenUtils::EHPersonality::NeXT_ObjC
static
Initial value:
= {"__objc_personality_v0",
nullptr}

Definition at line 36 of file EHPersonality.h.

◆ PersonalityFn

const char* clang::CodeGenUtils::EHPersonality::PersonalityFn = nullptr

Definition at line 21 of file EHPersonality.h.

Referenced by getPersonalityFn(), and getPersonalityFn().

◆ XL_CPlusPlus

const EHPersonality clang::CodeGenUtils::EHPersonality::XL_CPlusPlus
static
Initial value:
= {"__xlcxx_personality_v1",
nullptr}

Definition at line 44 of file EHPersonality.h.

◆ ZOS_CPlusPlus

const EHPersonality clang::CodeGenUtils::EHPersonality::ZOS_CPlusPlus
static
Initial value:
= {"__zos_cxx_personality_v2",
nullptr}

Definition at line 45 of file EHPersonality.h.


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