summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CodeGenFunction.h
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2009-12-18 23:47:41 +0000
committerEli Friedman <eli.friedman@gmail.com>2009-12-18 23:47:41 +0000
commit70724ad2ff3bc147506dfef20a927429ab4efabe (patch)
treed9750186518e74a19d7243008f67f99a1a6d672c /clang/lib/CodeGen/CodeGenFunction.h
parent726b878574a1de393a025511ee889ea258fb2cf4 (diff)
downloadbcm5719-llvm-70724ad2ff3bc147506dfef20a927429ab4efabe.tar.gz
bcm5719-llvm-70724ad2ff3bc147506dfef20a927429ab4efabe.zip
Work in progress for setting the vtable pointers for all bases correctly in
the constructor. This doesn't handle cases requiring the VTT at the moment, and generates unnecessary stores, but I think it's essentially correct. llvm-svn: 91731
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.h')
-rw-r--r--clang/lib/CodeGen/CodeGenFunction.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CodeGenFunction.h b/clang/lib/CodeGen/CodeGenFunction.h
index 4bacd16f928..c2e59c01eb2 100644
--- a/clang/lib/CodeGen/CodeGenFunction.h
+++ b/clang/lib/CodeGen/CodeGenFunction.h
@@ -515,6 +515,12 @@ public:
void InitializeVtablePtrs(const CXXRecordDecl *ClassDecl);
+ void InitializeVtablePtrsRecursive(const CXXRecordDecl *ClassDecl,
+ llvm::Constant *Vtable,
+ CodeGenModule::AddrSubMap_t& AddressPoints,
+ llvm::Value *ThisPtr,
+ uint64_t Offset);
+
void SynthesizeCXXCopyConstructor(const CXXConstructorDecl *Ctor,
CXXCtorType Type,
llvm::Function *Fn,
OpenPOWER on IntegriCloud