From: Anders Carlsson Date: Mon, 18 Jan 2010 04:45:46 +0000 (+0000) Subject: Move some common code into BuildVTT. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7a2132a5d2fead49f6fddc39137e1c14b70c0193;p=clang Move some common code into BuildVTT. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93710 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/CGVtable.cpp b/lib/CodeGen/CGVtable.cpp index 67b2b3dcb6..2f5681e181 100644 --- a/lib/CodeGen/CGVtable.cpp +++ b/lib/CodeGen/CGVtable.cpp @@ -1367,6 +1367,9 @@ class VTTBuilder { if (RD->getNumVBases() == 0) return; + // Remember the sub-VTT index. + SubVTTIndicies[RD] = Inits.size(); + llvm::Constant *Vtable; const CXXRecordDecl *VtableClass; @@ -1403,9 +1406,6 @@ class VTTBuilder { const ASTRecordLayout &Layout = CGM.getContext().getASTRecordLayout(RD); uint64_t BaseOffset = Offset + Layout.getBaseClassOffset(Base); - // Remember the sub-VTT index. - SubVTTIndicies[Base] = Inits.size(); - BuildVTT(Base, BaseOffset, MorallyVirtual); } } @@ -1418,9 +1418,6 @@ class VTTBuilder { const CXXRecordDecl *Base = cast(i->getType()->getAs()->getDecl()); if (i->isVirtual() && !SeenVBase.count(Base)) { - // Remember the sub-VTT index. - SubVTTIndicies[Base] = Inits.size(); - SeenVBase.insert(Base); uint64_t BaseOffset = BLayout.getVBaseClassOffset(Base); BuildVTT(Base, BaseOffset, true);