IRgen/Darwin: Fix refacto introduced in Triple changes.
llvm-svn: 130233
This commit is contained in:
parent
a4fa5ce911
commit
a59b0a6e3c
|
@ -266,7 +266,7 @@ static bool PersonalityHasOnlyCXXUses(llvm::Constant *Fn) {
|
|||
/// when it really needs it.
|
||||
void CodeGenModule::SimplifyPersonality() {
|
||||
// For now, this is really a Darwin-specific operation.
|
||||
if (Context.Target.getTriple().isOSDarwin())
|
||||
if (!Context.Target.getTriple().isOSDarwin())
|
||||
return;
|
||||
|
||||
// If we're not in ObjC++ -fexceptions, there's nothing to do.
|
||||
|
|
|
@ -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;
|
||||
}
|
Loading…
Reference in New Issue