]> granicus.if.org Git - clang/commitdiff
Disable the optimization until the bug noticed by Sean Hunt has been fixed.
authorAnders Carlsson <andersca@mac.com>
Sun, 15 May 2011 01:50:14 +0000 (01:50 +0000)
committerAnders Carlsson <andersca@mac.com>
Sun, 15 May 2011 01:50:14 +0000 (01:50 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131372 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/CGClass.cpp
test/CodeGenCXX/mangle-subst-std.cpp
test/CodeGenCXX/skip-vtable-pointer-initialization.cpp

index 785b9e129a1a317ed2c52986d2683f0b0db51e27..73dfc9fe7dbd8f0ae52a4d2a5561cfb3730063c6 100644 (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;
 
index c54d3e5297f0e2d1cc1cd81dd656a2d394bc1bd1..fea3582d321a38efce41d5ee1d942eb753246d88 100644 (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(); };
index f992bd339df0859d4c0b2994d80e5fb36a517a58..3b70ec03a3495c5830946f7bbd181084fe5d02f1 100644 (file)
@@ -1,4 +1,5 @@
 // RUN: %clang_cc1 %s -triple=x86_64-apple-darwin10 -emit-llvm -o - | FileCheck %s
+// XFAIL: *
 
 namespace Test1 {