summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/MicrosoftCXXABI.cpp
diff options
context:
space:
mode:
authorJohn McCall <rjmccall@apple.com>2010-08-31 07:33:07 +0000
committerJohn McCall <rjmccall@apple.com>2010-08-31 07:33:07 +0000
commit5d865c3292f2fcb349a27b7297ec300dc8d472a9 (patch)
tree1d0875f89d4e694a9f795369ea8c1404465b83ea /clang/lib/CodeGen/MicrosoftCXXABI.cpp
parent618d21978d2707de2727268eb4930cb6ce57929d (diff)
downloadbcm5719-llvm-5d865c3292f2fcb349a27b7297ec300dc8d472a9.tar.gz
bcm5719-llvm-5d865c3292f2fcb349a27b7297ec300dc8d472a9.zip
Teach IR generation to return 'this' from constructors and destructors
under the ARM ABI. llvm-svn: 112588
Diffstat (limited to 'clang/lib/CodeGen/MicrosoftCXXABI.cpp')
-rw-r--r--clang/lib/CodeGen/MicrosoftCXXABI.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/MicrosoftCXXABI.cpp b/clang/lib/CodeGen/MicrosoftCXXABI.cpp
index f894f662acb..b718cf74c58 100644
--- a/clang/lib/CodeGen/MicrosoftCXXABI.cpp
+++ b/clang/lib/CodeGen/MicrosoftCXXABI.cpp
@@ -117,6 +117,34 @@ public:
MicrosoftMangleContext &getMangleContext() {
return MangleCtx;
}
+
+ void BuildConstructorSignature(const CXXConstructorDecl *Ctor,
+ CXXCtorType Type,
+ CanQualType &ResTy,
+ llvm::SmallVectorImpl<CanQualType> &ArgTys) {
+ // 'this' is already in place
+ // TODO: 'for base' flag
+ }
+
+ void BuildDestructorSignature(const CXXDestructorDecl *Ctor,
+ CXXDtorType Type,
+ CanQualType &ResTy,
+ llvm::SmallVectorImpl<CanQualType> &ArgTys) {
+ // 'this' is already in place
+ // TODO: 'for base' flag
+ }
+
+ void BuildInstanceFunctionParams(CodeGenFunction &CGF,
+ QualType &ResTy,
+ FunctionArgList &Params) {
+ BuildThisParam(CGF, Params);
+ // TODO: 'for base' flag
+ }
+
+ void EmitInstanceFunctionProlog(CodeGenFunction &CGF) {
+ EmitThisParam(CGF);
+ // TODO: 'for base' flag
+ }
};
}
OpenPOWER on IntegriCloud