From: Anders Carlsson Date: Thu, 11 Mar 2010 00:21:21 +0000 (+0000) Subject: Remove the IndirectPrimary parameter in LayoutVirtualBases; it's already there as... X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9dc82d2193971ed57dc657dbd21249a2c57da376;p=clang Remove the IndirectPrimary parameter in LayoutVirtualBases; it's already there as a member variable. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98211 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/AST/RecordLayoutBuilder.cpp b/lib/AST/RecordLayoutBuilder.cpp index 0253327d09..12e9f04512 100644 --- a/lib/AST/RecordLayoutBuilder.cpp +++ b/lib/AST/RecordLayoutBuilder.cpp @@ -181,7 +181,6 @@ ASTRecordLayoutBuilder::LayoutNonVirtualBases(const CXXRecordDecl *RD) { // If we have a primary base class, lay it out. if (const CXXRecordDecl *Base = PrimaryBase.getBase()) { - printf("found primary base %s\n", Base->getQualifiedNameAsString().c_str()); if (PrimaryBase.isVirtual()) { // We have a virtual primary base, insert it as an indirect primary base. IndirectPrimaryBases.insert(Base); @@ -223,8 +222,7 @@ void ASTRecordLayoutBuilder::LayoutVirtualBases(const CXXRecordDecl *Class, const CXXRecordDecl *RD, const CXXRecordDecl *PB, uint64_t Offset, - llvm::SmallSet &mark, - llvm::SmallSet &IndirectPrimary) { + llvm::SmallSet &mark) { for (CXXRecordDecl::base_class_const_iterator i = RD->bases_begin(), e = RD->bases_end(); i != e; ++i) { assert(!i->getType()->isDependentType() && @@ -239,9 +237,9 @@ void ASTRecordLayoutBuilder::LayoutVirtualBases(const CXXRecordDecl *Class, continue; // Mark it so we don't lay it out twice. mark.insert(Base); - assert (IndirectPrimary.count(Base) && "IndirectPrimary was wrong"); + assert (IndirectPrimaryBases.count(Base) && "IndirectPrimary was wrong"); VBases.push_back(std::make_pair(Base, Offset)); - } else if (IndirectPrimary.count(Base)) { + } else if (IndirectPrimaryBases.count(Base)) { // Someone else will eventually lay this out. ; } else { @@ -265,8 +263,7 @@ void ASTRecordLayoutBuilder::LayoutVirtualBases(const CXXRecordDecl *Class, if (Base->getNumVBases()) { const ASTRecordLayout &Layout = Ctx.getASTRecordLayout(Base); const CXXRecordDecl *PrimaryBase = Layout.getPrimaryBaseInfo().getBase(); - LayoutVirtualBases(Class, Base, PrimaryBase, BaseOffset, mark, - IndirectPrimary); + LayoutVirtualBases(Class, Base, PrimaryBase, BaseOffset, mark); } } } @@ -490,8 +487,7 @@ void ASTRecordLayoutBuilder::Layout(const RecordDecl *D) { if (RD) { llvm::SmallSet mark; - LayoutVirtualBases(RD, RD, PrimaryBase.getBase(), - 0, mark, IndirectPrimaryBases); + LayoutVirtualBases(RD, RD, PrimaryBase.getBase(), 0, mark); } // Finally, round the size of the total struct up to the alignment of the diff --git a/lib/AST/RecordLayoutBuilder.h b/lib/AST/RecordLayoutBuilder.h index ede75dd8fa..80bf49d051 100644 --- a/lib/AST/RecordLayoutBuilder.h +++ b/lib/AST/RecordLayoutBuilder.h @@ -114,8 +114,7 @@ class ASTRecordLayoutBuilder { /// LayoutVirtualBases - Lays out all the virtual bases. void LayoutVirtualBases(const CXXRecordDecl *Class, const CXXRecordDecl *RD, const CXXRecordDecl *PB, uint64_t Offset, - llvm::SmallSet &mark, - llvm::SmallSet &IndirectPrimary); + llvm::SmallSet &mark); /// LayoutVirtualBase - Lays out a single virtual base. void LayoutVirtualBase(const CXXRecordDecl *RD);