summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@mac.com>2010-01-18 04:45:46 +0000
committerAnders Carlsson <andersca@mac.com>2010-01-18 04:45:46 +0000
commit3d1a09552c7c85e11b3a7c338fbb7259118f68c1 (patch)
treed388c91934bce739295592db2b3116d070c4cc10
parent1af3df854f31e33f550149e576c819d94dc74f7b (diff)
downloadbcm5719-llvm-3d1a09552c7c85e11b3a7c338fbb7259118f68c1.tar.gz
bcm5719-llvm-3d1a09552c7c85e11b3a7c338fbb7259118f68c1.zip
Move some common code into BuildVTT.
llvm-svn: 93710
-rw-r--r--clang/lib/CodeGen/CGVtable.cpp9
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);
OpenPOWER on IntegriCloud