summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorReid Kleckner <rnk@google.com>2017-05-31 22:35:52 +0000
committerReid Kleckner <rnk@google.com>2017-05-31 22:35:52 +0000
commitfc7ba565ed32b972a58e62ddd864e7e84eeb2977 (patch)
treeebaab40a5fd1b110dfad3b57e79d8e8ab0455742 /llvm/lib
parent605f779516f93df9ae3c976cc00d94f4dafdaf21 (diff)
downloadbcm5719-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.cpp2
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)
OpenPOWER on IntegriCloud