summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@mac.com>2011-05-15 01:50:14 +0000
committerAnders Carlsson <andersca@mac.com>2011-05-15 01:50:14 +0000
commitb55c8c127ee0a051d134367114ee823aeb179600 (patch)
treeaa89b418a4395f222584860c43bb6d7e7d077069
parentae34ee80d337d47791ab2a50ae339e8990d8c624 (diff)
downloadbcm5719-llvm-b55c8c127ee0a051d134367114ee823aeb179600.tar.gz
bcm5719-llvm-b55c8c127ee0a051d134367114ee823aeb179600.zip
Disable the optimization until the bug noticed by Sean Hunt has been fixed.
llvm-svn: 131372
-rw-r--r--clang/lib/CodeGen/CGClass.cpp4
-rw-r--r--clang/test/CodeGenCXX/mangle-subst-std.cpp2
-rw-r--r--clang/test/CodeGenCXX/skip-vtable-pointer-initialization.cpp1
3 files changed, 6 insertions, 1 deletions
diff --git a/clang/lib/CodeGen/CGClass.cpp b/clang/lib/CodeGen/CGClass.cpp
index 785b9e129a1..73dfc9fe7db 100644
--- a/clang/lib/CodeGen/CGClass.cpp
+++ b/clang/lib/CodeGen/CGClass.cpp
@@ -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;
diff --git a/clang/test/CodeGenCXX/mangle-subst-std.cpp b/clang/test/CodeGenCXX/mangle-subst-std.cpp
index c54d3e5297f..fea3582d321 100644
--- a/clang/test/CodeGenCXX/mangle-subst-std.cpp
+++ b/clang/test/CodeGenCXX/mangle-subst-std.cpp
@@ -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(); };
diff --git a/clang/test/CodeGenCXX/skip-vtable-pointer-initialization.cpp b/clang/test/CodeGenCXX/skip-vtable-pointer-initialization.cpp
index f992bd339df..3b70ec03a34 100644
--- a/clang/test/CodeGenCXX/skip-vtable-pointer-initialization.cpp
+++ b/clang/test/CodeGenCXX/skip-vtable-pointer-initialization.cpp
@@ -1,4 +1,5 @@
// RUN: %clang_cc1 %s -triple=x86_64-apple-darwin10 -emit-llvm -o - | FileCheck %s
+// XFAIL: *
namespace Test1 {
OpenPOWER on IntegriCloud