diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2018-07-28 10:51:19 +0000 | 
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2018-07-28 10:51:19 +0000 | 
| commit | eb11fae6d08f479c0799db45860a98af528fa6e7 (patch) | |
| tree | 44d492a50c8c1a7eb8e2d17ea3360ec4d066f042 /lib/Analysis/EHPersonalities.cpp | |
| parent | b8a2042aa938069e862750553db0e4d82d25822c (diff) | |
Notes
Diffstat (limited to 'lib/Analysis/EHPersonalities.cpp')
| -rw-r--r-- | lib/Analysis/EHPersonalities.cpp | 30 | 
1 files changed, 16 insertions, 14 deletions
diff --git a/lib/Analysis/EHPersonalities.cpp b/lib/Analysis/EHPersonalities.cpp index b12ae9884e3d..2d35a3fa9118 100644 --- a/lib/Analysis/EHPersonalities.cpp +++ b/lib/Analysis/EHPersonalities.cpp @@ -25,20 +25,21 @@ EHPersonality llvm::classifyEHPersonality(const Value *Pers) {    if (!F)      return EHPersonality::Unknown;    return StringSwitch<EHPersonality>(F->getName()) -    .Case("__gnat_eh_personality", EHPersonality::GNU_Ada) -    .Case("__gxx_personality_v0",  EHPersonality::GNU_CXX) -    .Case("__gxx_personality_seh0",EHPersonality::GNU_CXX) -    .Case("__gxx_personality_sj0", EHPersonality::GNU_CXX_SjLj) -    .Case("__gcc_personality_v0",  EHPersonality::GNU_C) -    .Case("__gcc_personality_seh0",EHPersonality::GNU_C) -    .Case("__gcc_personality_sj0", EHPersonality::GNU_C_SjLj) -    .Case("__objc_personality_v0", EHPersonality::GNU_ObjC) -    .Case("_except_handler3",      EHPersonality::MSVC_X86SEH) -    .Case("_except_handler4",      EHPersonality::MSVC_X86SEH) -    .Case("__C_specific_handler",  EHPersonality::MSVC_Win64SEH) -    .Case("__CxxFrameHandler3",    EHPersonality::MSVC_CXX) -    .Case("ProcessCLRException",   EHPersonality::CoreCLR) -    .Case("rust_eh_personality",   EHPersonality::Rust) +    .Case("__gnat_eh_personality",     EHPersonality::GNU_Ada) +    .Case("__gxx_personality_v0",      EHPersonality::GNU_CXX) +    .Case("__gxx_personality_seh0",    EHPersonality::GNU_CXX) +    .Case("__gxx_personality_sj0",     EHPersonality::GNU_CXX_SjLj) +    .Case("__gcc_personality_v0",      EHPersonality::GNU_C) +    .Case("__gcc_personality_seh0",    EHPersonality::GNU_C) +    .Case("__gcc_personality_sj0",     EHPersonality::GNU_C_SjLj) +    .Case("__objc_personality_v0",     EHPersonality::GNU_ObjC) +    .Case("_except_handler3",          EHPersonality::MSVC_X86SEH) +    .Case("_except_handler4",          EHPersonality::MSVC_X86SEH) +    .Case("__C_specific_handler",      EHPersonality::MSVC_Win64SEH) +    .Case("__CxxFrameHandler3",        EHPersonality::MSVC_CXX) +    .Case("ProcessCLRException",       EHPersonality::CoreCLR) +    .Case("rust_eh_personality",       EHPersonality::Rust) +    .Case("__gxx_wasm_personality_v0", EHPersonality::Wasm_CXX)      .Default(EHPersonality::Unknown);  } @@ -55,6 +56,7 @@ StringRef llvm::getEHPersonalityName(EHPersonality Pers) {    case EHPersonality::MSVC_CXX:      return "__CxxFrameHandler3";    case EHPersonality::CoreCLR:       return "ProcessCLRException";    case EHPersonality::Rust:          return "rust_eh_personality"; +  case EHPersonality::Wasm_CXX:      return "__gxx_wasm_personality_v0";    case EHPersonality::Unknown:       llvm_unreachable("Unknown EHPersonality!");    }  | 
