]> granicus.if.org Git - clang/commitdiff
Fix personality function name when using SjLj exceptions.
authorDaniel Dunbar <daniel@zuster.org>
Fri, 28 May 2010 19:43:36 +0000 (19:43 +0000)
committerDaniel Dunbar <daniel@zuster.org>
Fri, 28 May 2010 19:43:36 +0000 (19:43 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104999 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/CGException.cpp

index ddc1c7743344ae0d488140fef6a76a09b8464960..90edd19a33d191d077816a8dd1ecd233a5e33ff0 100644 (file)
@@ -126,9 +126,12 @@ static llvm::Constant *getTerminateFn(CodeGenFunction &CGF) {
 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";