diff options
author | Anders Carlsson <andersca@mac.com> | 2010-01-18 04:45:46 +0000 |
---|---|---|
committer | Anders Carlsson <andersca@mac.com> | 2010-01-18 04:45:46 +0000 |
commit | 3d1a09552c7c85e11b3a7c338fbb7259118f68c1 (patch) | |
tree | d388c91934bce739295592db2b3116d070c4cc10 | |
parent | 1af3df854f31e33f550149e576c819d94dc74f7b (diff) | |
download | bcm5719-llvm-3d1a09552c7c85e11b3a7c338fbb7259118f68c1.tar.gz bcm5719-llvm-3d1a09552c7c85e11b3a7c338fbb7259118f68c1.zip |
Move some common code into BuildVTT.
llvm-svn: 93710
-rw-r--r-- | clang/lib/CodeGen/CGVtable.cpp | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/clang/lib/CodeGen/CGVtable.cpp b/clang/lib/CodeGen/CGVtable.cpp index 67b2b3dcb69..2f5681e181a 100644 --- a/clang/lib/CodeGen/CGVtable.cpp +++ b/clang/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<CXXRecordDecl>(i->getType()->getAs<RecordType>()->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); |