summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGCXXABI.cpp
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2015-11-02 09:01:44 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2015-11-02 09:01:44 +0000
commit8671c6e03dc6a1e10d41ad825075cb912b05c570 (patch)
tree3a70eda4e12e70f6047cae4f2de90ff06fc3cfc6 /clang/lib/CodeGen/CGCXXABI.cpp
parent0e8d1922c8d5ee085b4ce828107d2411e5577247 (diff)
downloadbcm5719-llvm-8671c6e03dc6a1e10d41ad825075cb912b05c570.tar.gz
bcm5719-llvm-8671c6e03dc6a1e10d41ad825075cb912b05c570.zip
[MS ABI] Don't zero-initialize vbptrs in bases
Certain CXXConstructExpr nodes require zero-initialization before a constructor is called. We had a bug in the case where the constructor is called on a virtual base: we zero-initialized the base's vbptr field. A complementary bug is present in MSVC where no zero-initialization occurs for the subobject at all. This fixes PR25370. llvm-svn: 251783
Diffstat (limited to 'clang/lib/CodeGen/CGCXXABI.cpp')
-rw-r--r--clang/lib/CodeGen/CGCXXABI.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CGCXXABI.cpp b/clang/lib/CodeGen/CGCXXABI.cpp
index 51f1b0730b3..078b98d40df 100644
--- a/clang/lib/CodeGen/CGCXXABI.cpp
+++ b/clang/lib/CodeGen/CGCXXABI.cpp
@@ -326,3 +326,7 @@ CGCXXABI::emitTerminateForUnexpectedException(CodeGenFunction &CGF,
CatchTypeInfo CGCXXABI::getCatchAllTypeInfo() {
return CatchTypeInfo{nullptr, 0};
}
+
+std::vector<CharUnits> CGCXXABI::getVBPtrOffsets(const CXXRecordDecl *RD) {
+ return std::vector<CharUnits>();
+}
OpenPOWER on IntegriCloud