summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGException.cpp
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2010-05-28 19:43:36 +0000
committerDaniel Dunbar <daniel@zuster.org>2010-05-28 19:43:36 +0000
commit51c3387b5e4d34f9a0cb9d6f445cd449d5147c21 (patch)
treeca264c76b5c3da94c7c851acb4fe06695a2b71ef /clang/lib/CodeGen/CGException.cpp
parent5794c6fa431ed4d2eb96891810df4c08bd526183 (diff)
downloadbcm5719-llvm-51c3387b5e4d34f9a0cb9d6f445cd449d5147c21.tar.gz
bcm5719-llvm-51c3387b5e4d34f9a0cb9d6f445cd449d5147c21.zip
Fix personality function name when using SjLj exceptions.
llvm-svn: 104999
Diffstat (limited to 'clang/lib/CodeGen/CGException.cpp')
-rw-r--r--clang/lib/CodeGen/CGException.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/clang/lib/CodeGen/CGException.cpp b/clang/lib/CodeGen/CGException.cpp
index ddc1c774334..90edd19a33d 100644
--- a/clang/lib/CodeGen/CGException.cpp
+++ b/clang/lib/CodeGen/CGException.cpp
@@ -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";
OpenPOWER on IntegriCloud