diff options
Diffstat (limited to 'test/CodeGenObjC/simplify-exceptions.mm')
-rw-r--r-- | test/CodeGenObjC/simplify-exceptions.mm | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/test/CodeGenObjC/simplify-exceptions.mm b/test/CodeGenObjC/simplify-exceptions.mm new file mode 100644 index 0000000..a35b10d --- /dev/null +++ b/test/CodeGenObjC/simplify-exceptions.mm @@ -0,0 +1,18 @@ +// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -emit-llvm \ +// RUN: -fexceptions -fobjc-exceptions -fobjc-nonfragile-abi \ +// 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; +} |