summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenObjCXX/exception-cxx.mm
diff options
context:
space:
mode:
authorVedant Kumar <vsk@apple.com>2015-09-11 15:40:05 +0000
committerVedant Kumar <vsk@apple.com>2015-09-11 15:40:05 +0000
commitdb609471ce041c0a7fce1da73953cfd806258074 (patch)
treed34856c783a11b399481b2add997cec7e73edc8f /clang/test/CodeGenObjCXX/exception-cxx.mm
parent9676db005e6cfc7e724a12365bb320e85422d1ba (diff)
downloadbcm5719-llvm-db609471ce041c0a7fce1da73953cfd806258074.tar.gz
bcm5719-llvm-db609471ce041c0a7fce1da73953cfd806258074.zip
[CodeGen] Teach SimplifyPersonality about the updated LandingPadInst
When uses of personality functions were moved from LandingPadInst to Function, we forgot to update SimplifyPersonality(). This patch corrects that. Note: SimplifyPersonality() is an optimization which replaces personality functions with the default C++ personality when possible. Without this update, some ObjC++ projects fail to link against C++ libraries (seeing as the exception ABI had effectively changed). rdar://problem/22155434 llvm-svn: 247421
Diffstat (limited to 'clang/test/CodeGenObjCXX/exception-cxx.mm')
-rw-r--r--clang/test/CodeGenObjCXX/exception-cxx.mm13
1 files changed, 13 insertions, 0 deletions
diff --git a/clang/test/CodeGenObjCXX/exception-cxx.mm b/clang/test/CodeGenObjCXX/exception-cxx.mm
new file mode 100644
index 00000000000..76a5a084582
--- /dev/null
+++ b/clang/test/CodeGenObjCXX/exception-cxx.mm
@@ -0,0 +1,13 @@
+// RUN: %clang_cc1 -x objective-c++ -triple x86_64-apple-darwin10 -emit-llvm -fcxx-exceptions -fexceptions -fobjc-exceptions -o - %s | FileCheck %s
+
+// rdar://problem/22155434
+namespace test0 {
+ void foo() {
+ try {
+ throw 0;
+ } catch (...) {
+ return;
+ }
+ }
+// CHECK: define void @_ZN5test03fooEv() #0 personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
+}
OpenPOWER on IntegriCloud