summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGDeclCXX.cpp
diff options
context:
space:
mode:
authorTimur Iskhodzhanov <timurrrr@google.com>2013-10-02 16:03:16 +0000
committerTimur Iskhodzhanov <timurrrr@google.com>2013-10-02 16:03:16 +0000
commit40c585a5687adaf4971e1375a25bcd4ba47dd112 (patch)
treece6625329b0cdbba5d325f47b33cb0518d54d881 /clang/lib/CodeGen/CGDeclCXX.cpp
parent6df39438af9714ee649ac80355fc96edf59f53bc (diff)
downloadbcm5719-llvm-40c585a5687adaf4971e1375a25bcd4ba47dd112.tar.gz
bcm5719-llvm-40c585a5687adaf4971e1375a25bcd4ba47dd112.zip
Fix crashes when creating global instances of polymorphic classes without fields
Reviewed at http://llvm-reviews.chandlerc.com/D1795 llvm-svn: 191839
Diffstat (limited to 'clang/lib/CodeGen/CGDeclCXX.cpp')
-rw-r--r--clang/lib/CodeGen/CGDeclCXX.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/CodeGen/CGDeclCXX.cpp b/clang/lib/CodeGen/CGDeclCXX.cpp
index e3249aa232f..7bdb9eb0a4a 100644
--- a/clang/lib/CodeGen/CGDeclCXX.cpp
+++ b/clang/lib/CodeGen/CGDeclCXX.cpp
@@ -96,7 +96,8 @@ static void EmitDeclDestroy(CodeGenFunction &CGF, const VarDecl &D,
CXXDestructorDecl *dtor = record->getDestructor();
function = CGM.GetAddrOfCXXDestructor(dtor, Dtor_Complete);
- argument = addr;
+ argument = llvm::ConstantExpr::getBitCast(
+ addr, CGF.getTypes().ConvertType(type)->getPointerTo());
// Otherwise, the standard logic requires a helper function.
} else {
OpenPOWER on IntegriCloud