MSVC_X86SEH,
MSVC_Win64SEH,
MSVC_CXX,
+ CoreCLR
};
/// \brief See if the given exception handling personality function is one
llvm_unreachable("invalid enum");
}
- /// \brief Returns true if this is an MSVC personality function.
- inline bool isMSVCEHPersonality(EHPersonality Pers) {
- // The two SEH personality functions can catch asynch exceptions. We assume
- // unknown personalities don't catch asynch exceptions.
+ /// \brief Returns true if this is a personality function that invokes
+ /// handler funclets (which must return to it).
+ inline bool isFuncletEHPersonality(EHPersonality Pers) {
switch (Pers) {
case EHPersonality::MSVC_CXX:
case EHPersonality::MSVC_X86SEH:
case EHPersonality::MSVC_Win64SEH:
+ case EHPersonality::CoreCLR:
return true;
default: return false;
}