diff options
Diffstat (limited to 'clang/test/CodeGenObjC/simplify-exceptions.mm')
-rw-r--r-- | clang/test/CodeGenObjC/simplify-exceptions.mm | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/clang/test/CodeGenObjC/simplify-exceptions.mm b/clang/test/CodeGenObjC/simplify-exceptions.mm new file mode 100644 index 0000000..d0baf80 --- /dev/null +++ b/clang/test/CodeGenObjC/simplify-exceptions.mm @@ -0,0 +1,18 @@ +// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -emit-llvm \ +// RUN: -fexceptions -fobjc-exceptions \ +// RUN: -o %t %s +// RUN: FileCheck < %t %s +// +// <rdar://problem/7471679> [irgen] [eh] Exception code built with clang (x86_64) crashes + +// Check that we don't emit unnecessary personality function references. +struct t0_A { t0_A(); }; +struct t0_B { t0_A a; }; + +// CHECK: define {{.*}} @_Z2t0v(){{.*}} { +// CHECK-NOT: objc_personality +// CHECK: } +t0_B& t0() { + static t0_B x; + return x; +} |