summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGCXXABI.h
diff options
context:
space:
mode:
authorTimur Iskhodzhanov <timurrrr@google.com>2013-02-27 13:46:31 +0000
committerTimur Iskhodzhanov <timurrrr@google.com>2013-02-27 13:46:31 +0000
commit57cbe5c790256791a58c0e394641b0136131d997 (patch)
tree32048a3476d8c10d23b5006ceed1b654fe35edf1 /clang/lib/CodeGen/CGCXXABI.h
parent8ee2a5adc79c3fcc648953b996a3ea3b4aaf7ef2 (diff)
downloadbcm5719-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.h10
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,
OpenPOWER on IntegriCloud