One second thought, I think I want to limit this class to just vtable

building activities.

llvm-svn: 79438
This commit is contained in:
Mike Stump 2009-08-19 18:10:47 +00:00
parent ea579e3d29
commit 3bc0a3bf7d
1 changed files with 5 additions and 5 deletions

View File

@ -703,7 +703,7 @@ llvm::Constant *CodeGenModule::GenerateRtti(const CXXRecordDecl *RD) {
return Rtti;
}
class ABIBuilder {
class VtableBuilder {
std::vector<llvm::Constant *> &methods;
llvm::Type *Ptr8Ty;
const CXXRecordDecl *Class;
@ -715,9 +715,9 @@ class ABIBuilder {
typedef CXXRecordDecl::method_iterator method_iter;
public:
ABIBuilder(std::vector<llvm::Constant *> &meth,
const CXXRecordDecl *c,
CodeGenModule &cgm)
VtableBuilder(std::vector<llvm::Constant *> &meth,
const CXXRecordDecl *c,
CodeGenModule &cgm)
: methods(meth), Class(c), BLayout(cgm.getContext().getASTRecordLayout(c)),
rtti(cgm.GenerateRtti(c)), VMContext(cgm.getModule().getContext()),
CGM(cgm) {
@ -886,7 +886,7 @@ llvm::Value *CodeGenFunction::GenerateVtable(const CXXRecordDecl *RD) {
Offset += LLVMPointerWidth;
Offset += LLVMPointerWidth;
ABIBuilder b(methods, RD, CGM);
VtableBuilder b(methods, RD, CGM);
// First comes the vtables for all the non-virtual bases...
b.GenerateVtableForBase(RD, true, false, 0, false);