Fix personality function name when using SjLj exceptions.
llvm-svn: 104999
diff --git a/clang/lib/CodeGen/CGException.cpp b/clang/lib/CodeGen/CGException.cpp
index ddc1c77..90edd19a 100644
--- a/clang/lib/CodeGen/CGException.cpp
+++ b/clang/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";