From: Anders Carlsson Date: Tue, 22 Sep 2009 18:21:58 +0000 (+0000) Subject: Explicitly initialize the PrimaryBase and PrimaryBaseWasVirtual members. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0cd40e4f909b4172254c83ae7291576204a588b8;p=clang Explicitly initialize the PrimaryBase and PrimaryBaseWasVirtual members. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82560 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/AST/RecordLayoutBuilder.cpp b/lib/AST/RecordLayoutBuilder.cpp index 3669db65ca..836e43c43a 100644 --- a/lib/AST/RecordLayoutBuilder.cpp +++ b/lib/AST/RecordLayoutBuilder.cpp @@ -23,13 +23,13 @@ using namespace clang; ASTRecordLayoutBuilder::ASTRecordLayoutBuilder(ASTContext &Ctx) : Ctx(Ctx), Size(0), Alignment(8), Packed(false), MaxFieldAlignment(0), - NextOffset(0), IsUnion(false), NonVirtualSize(0), NonVirtualAlignment(8) {} + NextOffset(0), IsUnion(false), NonVirtualSize(0), NonVirtualAlignment(8), + PrimaryBase(0), PrimaryBaseWasVirtual(false) {} /// LayoutVtable - Lay out the vtable and set PrimaryBase. void ASTRecordLayoutBuilder::LayoutVtable(const CXXRecordDecl *RD) { if (!RD->isDynamicClass()) { // There is no primary base in this case. - setPrimaryBase(0, false); return; } @@ -149,10 +149,8 @@ void ASTRecordLayoutBuilder::SelectPrimaryBase(const CXXRecordDecl *RD) { // If we have no virtual bases at this point, bail out as the searching below // is expensive. - if (RD->getNumVBases() == 0) { - setPrimaryBase(0, false); + if (RD->getNumVBases() == 0) return; - } // Then we can search for the first nearly empty virtual base itself. const CXXRecordDecl *FirstPrimary = 0;