diff options
author | Mike Stump <mrs@apple.com> | 2009-09-05 09:24:43 +0000 |
---|---|---|
committer | Mike Stump <mrs@apple.com> | 2009-09-05 09:24:43 +0000 |
commit | a18df0ec71c5c95fb6809d4a80050f7b218f38b5 (patch) | |
tree | e75bf3be068b7912e61290c7a6644a41ee438e20 /lib/CodeGen | |
parent | e45c90f53e3fcb59a48e88862aa5cf5f5538556c (diff) |
Cleanup.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81078 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen')
-rw-r--r-- | lib/CodeGen/CGCXX.cpp | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/lib/CodeGen/CGCXX.cpp b/lib/CodeGen/CGCXX.cpp index 1dbc0a13ca..106f95edc0 100644 --- a/lib/CodeGen/CGCXX.cpp +++ b/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<llvm::Constant *> 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); |