Fix personality function name when using SjLj exceptions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104999 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/CGException.cpp b/lib/CodeGen/CGException.cpp
index ddc1c77..90edd19 100644
--- a/lib/CodeGen/CGException.cpp
+++ b/lib/CodeGen/CGException.cpp
@@ -126,9 +126,12 @@
static llvm::Constant *getPersonalityFn(CodeGenModule &CGM) {
const char *PersonalityFnName = "__gcc_personality_v0";
LangOptions Opts = CGM.getLangOptions();
- if (Opts.CPlusPlus)
+ if (Opts.CPlusPlus) {
+ if (Opts.SjLjExceptions)
+ PersonalityFnName = "__gxx_personality_sj0";
+ else
PersonalityFnName = "__gxx_personality_v0";
- else if (Opts.ObjC1) {
+ } else if (Opts.ObjC1) {
if (Opts.NeXTRuntime) {
if (Opts.ObjCNonFragileABI)
PersonalityFnName = "__gcc_personality_v0";