diff options
author | Timur Iskhodzhanov <timurrrr@google.com> | 2013-02-27 13:46:31 +0000 |
---|---|---|
committer | Timur Iskhodzhanov <timurrrr@google.com> | 2013-02-27 13:46:31 +0000 |
commit | 57cbe5c790256791a58c0e394641b0136131d997 (patch) | |
tree | 32048a3476d8c10d23b5006ceed1b654fe35edf1 /clang/lib/CodeGen/CGCXXABI.h | |
parent | 8ee2a5adc79c3fcc648953b996a3ea3b4aaf7ef2 (diff) | |
download | bcm5719-llvm-57cbe5c790256791a58c0e394641b0136131d997.tar.gz bcm5719-llvm-57cbe5c790256791a58c0e394641b0136131d997.zip |
Better support for constructors with -cxx-abi microsoft, partly fixes PR12784
llvm-svn: 176186
Diffstat (limited to 'clang/lib/CodeGen/CGCXXABI.h')
-rw-r--r-- | clang/lib/CodeGen/CGCXXABI.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CGCXXABI.h b/clang/lib/CodeGen/CGCXXABI.h index 47642477572..cdc87b70e55 100644 --- a/clang/lib/CodeGen/CGCXXABI.h +++ b/clang/lib/CodeGen/CGCXXABI.h @@ -185,6 +185,8 @@ public: CanQualType &ResTy, SmallVectorImpl<CanQualType> &ArgTys) = 0; + virtual llvm::BasicBlock *EmitCtorCompleteObjectHandler(CodeGenFunction &CGF); + /// Build the signature of the given destructor variant by adding /// any required parameters. For convenience, ResTy has been /// initialized to 'void' and ArgTys has been initialized with the @@ -207,6 +209,14 @@ public: /// Emit the ABI-specific prolog for the function. virtual void EmitInstanceFunctionProlog(CodeGenFunction &CGF) = 0; + virtual void EmitConstructorCall(CodeGenFunction &CGF, + const CXXConstructorDecl *D, + CXXCtorType Type, bool ForVirtualBase, + bool Delegating, + llvm::Value *This, + CallExpr::const_arg_iterator ArgBeg, + CallExpr::const_arg_iterator ArgEnd) = 0; + /// Emit the ABI-specific virtual destructor call. virtual RValue EmitVirtualDestructorCall(CodeGenFunction &CGF, const CXXDestructorDecl *Dtor, |