Disable the optimization until the bug noticed by Sean Hunt has been fixed.

llvm-svn: 131372
This commit is contained in:
Anders Carlsson 2011-05-15 01:50:14 +00:00
parent ae34ee80d3
commit b55c8c127e
3 changed files with 6 additions and 1 deletions

View File

@ -745,6 +745,10 @@ void CodeGenFunction::EmitCtorPrologue(const CXXConstructorDecl *CD,
/// any vtable pointers before calling this destructor.
static bool CanSkipVTablePointerInitialization(ASTContext &Context,
const CXXDestructorDecl *Dtor) {
// FIXME: We need to check dtors of bases of members too.
// Re-enable once this has been fixed.
return false;
if (!Dtor->hasTrivialBody())
return false;

View File

@ -8,8 +8,8 @@
// CHECK: @_ZTCSd0_Si = linkonce_odr unnamed_addr constant
// CHECK: @_ZTCSd16_So = linkonce_odr unnamed_addr constant
// CHECK: @_ZTTSo = linkonce_odr unnamed_addr constant
// CHECK: @_ZTTSi = linkonce_odr unnamed_addr constant
// CHECK: @_ZTVSo = linkonce_odr unnamed_addr constant
// CHECK: @_ZTTSi = linkonce_odr unnamed_addr constant
// CHECK: @_ZTVSi = linkonce_odr unnamed_addr constant
namespace std {
struct A { A(); };

View File

@ -1,4 +1,5 @@
// RUN: %clang_cc1 %s -triple=x86_64-apple-darwin10 -emit-llvm -o - | FileCheck %s
// XFAIL: *
namespace Test1 {