34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
#elif defined(HAVE_SJLJ_EXCEPTIONS)
# define PERSONALITY __gnu_objc_personality_sj0
# define CXX_PERSONALITY __gxx_personality_sj0
# define _Unwind_RaiseException _Unwind_SjLj_RaiseException
# define __builtin_eh_return_data_regno(i) (i)
#elif defined(HAVE_SEH_EXCEPTIONS)
# define PERSONALITY gnu_objc_personality
# define CXX_PERSONALITY __gxx_personality_seh0
#else
# error Unknown exception type!
#endif
#if defined(OF_ARM) && !defined(__ARM_DWARF_EH__)
# define HAVE_ARM_EHABI_EXCEPTIONS
#endif
|
|
|
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
#elif defined(HAVE_SJLJ_EXCEPTIONS)
# define PERSONALITY __gnu_objc_personality_sj0
# define CXX_PERSONALITY __gxx_personality_sj0
# define _Unwind_RaiseException _Unwind_SjLj_RaiseException
# define __builtin_eh_return_data_regno(i) (i)
#elif defined(HAVE_SEH_EXCEPTIONS)
# define PERSONALITY gnu_objc_personality
# define CXX_PERSONALITY __gxx_personality_v0
#else
# error Unknown exception type!
#endif
#if defined(OF_ARM) && !defined(__ARM_DWARF_EH__)
# define HAVE_ARM_EHABI_EXCEPTIONS
#endif
|
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
|
uint8_t found = 0;
intptr_t filter = 0;
if (foreign) {
switch (ex_class) {
case GNUCCXX0_EXCEPTION_CLASS:
case CLNGCXX0_EXCEPTION_CLASS:
if (__gxx_personality_v0 != NULL)
return CALL_PERSONALITY(CXX_PERSONALITY);
break;
}
/*
* None matched or none available - we'll try to handle it
* anyway, but will most likely fail.
|
|
|
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
|
uint8_t found = 0;
intptr_t filter = 0;
if (foreign) {
switch (ex_class) {
case GNUCCXX0_EXCEPTION_CLASS:
case CLNGCXX0_EXCEPTION_CLASS:
if (CXX_PERSONALITY != NULL)
return CALL_PERSONALITY(CXX_PERSONALITY);
break;
}
/*
* None matched or none available - we'll try to handle it
* anyway, but will most likely fail.
|