aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/CGCXX.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/CodeGen/CGCXX.cpp')
-rw-r--r--lib/CodeGen/CGCXX.cpp11
1 files changed, 5 insertions, 6 deletions
diff --git a/lib/CodeGen/CGCXX.cpp b/lib/CodeGen/CGCXX.cpp
index 5095b04ab4..7d2866aeaa 100644
--- a/lib/CodeGen/CGCXX.cpp
+++ b/lib/CodeGen/CGCXX.cpp
@@ -1080,7 +1080,7 @@ public:
int64_t GenerateVtableForBase(const CXXRecordDecl *RD, bool forPrimary,
bool Bottom, bool MorallyVirtual,
int64_t Offset, bool ForVirtualBase) {
- if (RD && !RD->isDynamicClass())
+ if (!RD->isDynamicClass())
return 0;
const ASTRecordLayout &Layout = CGM.getContext().getASTRecordLayout(RD);
@@ -1118,8 +1118,7 @@ public:
MorallyVirtual, Offset, ForVirtualBase);
}
- void GenerateVtableForVBases(const CXXRecordDecl *RD,
- const CXXRecordDecl *Class) {
+ void GenerateVtableForVBases(const CXXRecordDecl *RD) {
for (CXXRecordDecl::base_class_const_iterator i = RD->bases_begin(),
e = RD->bases_end(); i != e; ++i) {
const CXXRecordDecl *Base =
@@ -1135,7 +1134,7 @@ public:
InstallThunks(AP);
}
if (Base->getNumVBases())
- GenerateVtableForVBases(Base, Class);
+ GenerateVtableForVBases(Base);
}
}
};
@@ -1165,7 +1164,7 @@ public:
std::vector<llvm::Constant *> methods;
VtableBuilder b(methods, RD, CGM);
b.GenerateVtableForBase(RD, true, true, false, 0, false);
- b.GenerateVtableForVBases(RD, RD);
+ b.GenerateVtableForVBases(RD);
register_index(RD, b.getIndex());
I = IndexFor.find(RD);
}
@@ -1195,7 +1194,7 @@ llvm::Value *CodeGenFunction::GenerateVtable(const CXXRecordDecl *RD) {
Offset = b.GenerateVtableForBase(RD, true, true, false, 0, false);
// then the vtables for all the virtual bases.
- b.GenerateVtableForVBases(RD, RD);
+ b.GenerateVtableForVBases(RD);
llvm::Constant *C;
llvm::ArrayType *type = llvm::ArrayType::get(Ptr8Ty, methods.size());