diff options
| author | Reid Kleckner <rnk@google.com> | 2017-05-31 22:35:52 +0000 |
|---|---|---|
| committer | Reid Kleckner <rnk@google.com> | 2017-05-31 22:35:52 +0000 |
| commit | fc7ba565ed32b972a58e62ddd864e7e84eeb2977 (patch) | |
| tree | ebaab40a5fd1b110dfad3b57e79d8e8ab0455742 /llvm/lib | |
| parent | 605f779516f93df9ae3c976cc00d94f4dafdaf21 (diff) | |
| download | bcm5719-llvm-fc7ba565ed32b972a58e62ddd864e7e84eeb2977.tar.gz bcm5719-llvm-fc7ba565ed32b972a58e62ddd864e7e84eeb2977.zip | |
[EH] Recognize __(gxx|gcc)_personality_seh0 as the GNU EH personalities
These are no-ops when there are no invokes. We don't need to emit LSDAs
for them.
Fixes PR33220.
llvm-svn: 304367
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Analysis/EHPersonalities.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/Analysis/EHPersonalities.cpp b/llvm/lib/Analysis/EHPersonalities.cpp index ebf0a370b0b..b12ae9884e3 100644 --- a/llvm/lib/Analysis/EHPersonalities.cpp +++ b/llvm/lib/Analysis/EHPersonalities.cpp @@ -27,8 +27,10 @@ EHPersonality llvm::classifyEHPersonality(const Value *Pers) { 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) |

