From: Mike Stump Date: Thu, 30 Jul 2009 17:53:53 +0000 (+0000) Subject: We'll also need a vtable pointer if we have virtual bases. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=90f67083882915c2c6227839f3c2afcd64c5af3d;p=clang 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 --- 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;