diff options
author | Fariborz Jahanian <fjahanian@apple.com> | 2009-08-07 23:51:33 +0000 |
---|---|---|
committer | Fariborz Jahanian <fjahanian@apple.com> | 2009-08-07 23:51:33 +0000 |
commit | ca28361fb0a72c50e0a400fae2fad9520e61c0a5 (patch) | |
tree | 48acea71754bc4c2f006a484bcfc8a0281f7d5ab /lib/CodeGen/CodeGenFunction.h | |
parent | 112a0a8ddf23f6d25e0920002d5d4c1df0515f86 (diff) |
Synthesized copy constructor now generates code for
copying non-virtual base classes which have non-trivial
constructor. Work in progress.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78436 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/CodeGenFunction.h')
-rw-r--r-- | lib/CodeGen/CodeGenFunction.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/CodeGen/CodeGenFunction.h b/lib/CodeGen/CodeGenFunction.h index b512d3670b..383f844e93 100644 --- a/lib/CodeGen/CodeGenFunction.h +++ b/lib/CodeGen/CodeGenFunction.h @@ -369,7 +369,8 @@ public: void EmitCtorPrologue(const CXXConstructorDecl *CD); - void EmitCopyCtorBody(const CXXConstructorDecl *CD); + void EmitCopyCtorBody(const CXXConstructorDecl *CD, + const FunctionArgList &Args); /// EmitDtorEpilogue - Emit all code that comes at the end of class's /// destructor. This is to call destructors on members and base classes @@ -552,6 +553,10 @@ public: const CXXRecordDecl *ClassDecl, const CXXRecordDecl *BaseClassDecl); + void EmitClassMemberwiseCopy(llvm::Value *DestValue, llvm::Value *SrcValue, + const CXXRecordDecl *ClassDecl, + const CXXRecordDecl *BaseClassDecl); + void EmitCXXConstructorCall(const CXXConstructorDecl *D, CXXCtorType Type, llvm::Value *This, CallExpr::const_arg_iterator ArgBeg, |