aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Stump <mrs@apple.com>2009-07-30 17:53:53 +0000
committerMike Stump <mrs@apple.com>2009-07-30 17:53:53 +0000
commit90f67083882915c2c6227839f3c2afcd64c5af3d (patch)
tree632768ad8187df3ecf634612fcbf56e1557d7817
parentc5b8c9b6607de7ce25a28f26a34f43efa5728cb7 (diff)
We'll also need a vtable pointer if we have virtual bases.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77610 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/AST/RecordLayoutBuilder.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/AST/RecordLayoutBuilder.cpp b/lib/AST/RecordLayoutBuilder.cpp
index a60a72b74f..0ede5362c4 100644
--- a/lib/AST/RecordLayoutBuilder.cpp
+++ b/lib/AST/RecordLayoutBuilder.cpp
@@ -25,7 +25,7 @@ ASTRecordLayoutBuilder::ASTRecordLayoutBuilder(ASTContext &Ctx)
IsUnion(false), NonVirtualSize(0), NonVirtualAlignment(8) {}
void ASTRecordLayoutBuilder::LayoutVtable(const CXXRecordDecl *RD) {
- if (RD->isPolymorphic())
+ if (RD->isPolymorphic() || RD->getNumVBases())
{
assert (RD->getNumBases() == 0 && "no polymorphic inheritance yet");
int AS = 0;