summaryrefslogtreecommitdiffstats
path: root/clang/lib
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@mac.com>2010-01-29 18:37:50 +0000
committerAnders Carlsson <andersca@mac.com>2010-01-29 18:37:50 +0000
commita68e51e3a1803cc2a85fd9148484acaf3c68440e (patch)
treef272960c9469f5c8d0a0393d158e202f19d96f3f /clang/lib
parentaedd6f5b3325ef185647e0e565abd22c59b4e7c7 (diff)
downloadbcm5719-llvm-a68e51e3a1803cc2a85fd9148484acaf3c68440e.tar.gz
bcm5719-llvm-a68e51e3a1803cc2a85fd9148484acaf3c68440e.zip
Another PerformCopyInitialization call bites the dust.
llvm-svn: 94823
Diffstat (limited to 'clang/lib')
-rw-r--r--clang/lib/Sema/SemaOverload.cpp16
1 files changed, 12 insertions, 4 deletions
diff --git a/clang/lib/Sema/SemaOverload.cpp b/clang/lib/Sema/SemaOverload.cpp
index 86b1e37f108..361bc865d79 100644
--- a/clang/lib/Sema/SemaOverload.cpp
+++ b/clang/lib/Sema/SemaOverload.cpp
@@ -5878,12 +5878,20 @@ Sema::CreateOverloadedArraySubscriptExpr(SourceLocation LLoc,
// Convert the arguments.
CXXMethodDecl *Method = cast<CXXMethodDecl>(FnDecl);
- if (PerformObjectArgumentInitialization(Args[0], Method) ||
- PerformCopyInitialization(Args[1],
- FnDecl->getParamDecl(0)->getType(),
- AA_Passing))
+ if (PerformObjectArgumentInitialization(Args[0], Method))
return ExprError();
+ // Convert the arguments.
+ OwningExprResult InputInit
+ = PerformCopyInitialization(InitializedEntity::InitializeParameter(
+ FnDecl->getParamDecl(0)),
+ SourceLocation(),
+ Owned(Args[1]));
+ if (InputInit.isInvalid())
+ return ExprError();
+
+ Args[1] = InputInit.takeAs<Expr>();
+
// Determine the result type
QualType ResultTy
= FnDecl->getType()->getAs<FunctionType>()->getResultType();
OpenPOWER on IntegriCloud