diff options
author | Eli Friedman <eli.friedman@gmail.com> | 2009-12-18 23:47:41 +0000 |
---|---|---|
committer | Eli Friedman <eli.friedman@gmail.com> | 2009-12-18 23:47:41 +0000 |
commit | 70724ad2ff3bc147506dfef20a927429ab4efabe (patch) | |
tree | d9750186518e74a19d7243008f67f99a1a6d672c /clang/lib/CodeGen/CodeGenFunction.h | |
parent | 726b878574a1de393a025511ee889ea258fb2cf4 (diff) | |
download | bcm5719-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.h | 6 |
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, |