diff options
author | Anders Carlsson <andersca@mac.com> | 2009-11-13 17:08:56 +0000 |
---|---|---|
committer | Anders Carlsson <andersca@mac.com> | 2009-11-13 17:08:56 +0000 |
commit | a0fdd916bbaede20b4ef257af0f61487cb6ed85a (patch) | |
tree | c345a573468bdfecc84b91ee1ecf5f40383177cd /lib/CodeGen/CGCXX.cpp | |
parent | 4b3cbeaea60a1a2d1adc73738123c24549b7ce2c (diff) |
Instead of storing CXXMethodDecls in the vtable builder, store GlobalDecls so we can represent both the complete and deleting destructors. Also, when encountering a destructor decl, emit entries for both the complete and deleting destructors. Mike, please review.
With this change, FileCheck builds and runs the clang test suite without failures!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88663 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/CGCXX.cpp')
-rw-r--r-- | lib/CodeGen/CGCXX.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/CodeGen/CGCXX.cpp b/lib/CodeGen/CGCXX.cpp index b6818aa74a..9b83f00173 100644 --- a/lib/CodeGen/CGCXX.cpp +++ b/lib/CodeGen/CGCXX.cpp @@ -1011,7 +1011,7 @@ CodeGenFunction::BuildVirtualCall(const CXXDestructorDecl *DD, CXXDtorType Type, llvm::Value *&This, const llvm::Type *Ty) { DD = cast<CXXDestructorDecl>(DD->getCanonicalDecl()); int64_t VtableIndex = - CGM.getVtableInfo().getMethodVtableIndex(DD); + CGM.getVtableInfo().getMethodVtableIndex(GlobalDecl(DD, Type)); return ::BuildVirtualCall(*this, VtableIndex, This, Ty); } |