summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGVTables.cpp
diff options
context:
space:
mode:
authorStephen Lin <stephenwlin@gmail.com>2013-06-30 20:40:16 +0000
committerStephen Lin <stephenwlin@gmail.com>2013-06-30 20:40:16 +0000
commit9dc6eef755c756db67552eccd5f2e910d8d504b3 (patch)
treede664e43946e8c99d3bdf353895f6d47fa69d364 /clang/lib/CodeGen/CGVTables.cpp
parent2e551adcd98dc5b9a3e1ceabd07dd7d0be94c4b7 (diff)
downloadbcm5719-llvm-9dc6eef755c756db67552eccd5f2e910d8d504b3.tar.gz
bcm5719-llvm-9dc6eef755c756db67552eccd5f2e910d8d504b3.zip
Restore r184205 and associated commits (after commit of r185290)
This allows clang to use the backend parameter attribute 'returned' when generating 'this'-returning constructors and destructors in ARM and MSVC C++ ABIs. llvm-svn: 185291
Diffstat (limited to 'clang/lib/CodeGen/CGVTables.cpp')
-rw-r--r--clang/lib/CodeGen/CGVTables.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/CodeGen/CGVTables.cpp b/clang/lib/CodeGen/CGVTables.cpp
index e15639d31dd..9c4a5e0cdad 100644
--- a/clang/lib/CodeGen/CGVTables.cpp
+++ b/clang/lib/CodeGen/CGVTables.cpp
@@ -287,8 +287,9 @@ void CodeGenFunction::GenerateThunk(llvm::Function *Fn,
GlobalDecl GD, const ThunkInfo &Thunk) {
const CXXMethodDecl *MD = cast<CXXMethodDecl>(GD.getDecl());
const FunctionProtoType *FPT = MD->getType()->getAs<FunctionProtoType>();
- QualType ResultType = FPT->getResultType();
QualType ThisType = MD->getThisType(getContext());
+ QualType ResultType =
+ CGM.getCXXABI().HasThisReturn(GD) ? ThisType : FPT->getResultType();
FunctionArgList FunctionArgs;
OpenPOWER on IntegriCloud