diff options
author | Anders Carlsson <andersca@mac.com> | 2011-05-15 01:50:14 +0000 |
---|---|---|
committer | Anders Carlsson <andersca@mac.com> | 2011-05-15 01:50:14 +0000 |
commit | b55c8c127ee0a051d134367114ee823aeb179600 (patch) | |
tree | aa89b418a4395f222584860c43bb6d7e7d077069 | |
parent | ae34ee80d337d47791ab2a50ae339e8990d8c624 (diff) | |
download | bcm5719-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.cpp | 4 | ||||
-rw-r--r-- | clang/test/CodeGenCXX/mangle-subst-std.cpp | 2 | ||||
-rw-r--r-- | clang/test/CodeGenCXX/skip-vtable-pointer-initialization.cpp | 1 |
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 { |