From c9eb1727db00efbc5c99e684aad44ba5cc4c0159 Mon Sep 17 00:00:00 2001 From: Mike Stump Date: Sat, 5 Sep 2009 09:24:43 +0000 Subject: Cleanup. llvm-svn: 81078 --- clang/lib/CodeGen/CGCXX.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'clang/lib/CodeGen/CGCXX.cpp') diff --git a/clang/lib/CodeGen/CGCXX.cpp b/clang/lib/CodeGen/CGCXX.cpp index 1dbc0a13cae..106f95edc07 100644 --- a/clang/lib/CodeGen/CGCXX.cpp +++ b/clang/lib/CodeGen/CGCXX.cpp @@ -1028,7 +1028,7 @@ public: uint64_t o = Offset + Layout.getBaseClassOffset(Base); StartNewTable(); Index_t AP; - AP = GenerateVtableForBase(Base, MorallyVirtual, o, false); + AP = GenerateVtableForBase(Base, MorallyVirtual, o, false, RD); OverrideMethods(RD, AP, MorallyVirtual, o); InstallThunks(AP); } @@ -1097,8 +1097,9 @@ public: } int64_t GenerateVtableForBase(const CXXRecordDecl *RD, - bool MorallyVirtual, int64_t Offset, - bool ForVirtualBase) { + bool MorallyVirtual = false, int64_t Offset = 0, + bool ForVirtualBase = false, + const CXXRecordDecl *FinalD = 0) { if (!RD->isDynamicClass()) return 0; @@ -1137,7 +1138,7 @@ public: StartNewTable(); int64_t BaseOffset = BLayout.getVBaseClassOffset(Base); Index_t AP; - AP = GenerateVtableForBase(Base, true, BaseOffset, true); + AP = GenerateVtableForBase(Base, true, BaseOffset, true, RD); OverrideMethods(RD, AP, true, BaseOffset); InstallThunks(AP); } @@ -1171,7 +1172,7 @@ public: if (I == IndexFor.end()) { std::vector methods; VtableBuilder b(methods, RD, CGM); - b.GenerateVtableForBase(RD, false, 0, false); + b.GenerateVtableForBase(RD); b.GenerateVtableForVBases(RD); register_index(RD, b.getIndex()); I = IndexFor.find(RD); @@ -1199,7 +1200,7 @@ llvm::Value *CodeGenFunction::GenerateVtable(const CXXRecordDecl *RD) { VtableBuilder b(methods, RD, CGM); // First comes the vtables for all the non-virtual bases... - Offset = b.GenerateVtableForBase(RD, false, 0, false); + Offset = b.GenerateVtableForBase(RD); // then the vtables for all the virtual bases. b.GenerateVtableForVBases(RD); -- cgit v1.2.3