diff options
| author | Anders Carlsson <andersca@mac.com> | 2010-01-29 18:37:50 +0000 |
|---|---|---|
| committer | Anders Carlsson <andersca@mac.com> | 2010-01-29 18:37:50 +0000 |
| commit | a68e51e3a1803cc2a85fd9148484acaf3c68440e (patch) | |
| tree | f272960c9469f5c8d0a0393d158e202f19d96f3f | |
| parent | aedd6f5b3325ef185647e0e565abd22c59b4e7c7 (diff) | |
| download | bcm5719-llvm-a68e51e3a1803cc2a85fd9148484acaf3c68440e.tar.gz bcm5719-llvm-a68e51e3a1803cc2a85fd9148484acaf3c68440e.zip | |
Another PerformCopyInitialization call bites the dust.
llvm-svn: 94823
| -rw-r--r-- | clang/lib/Sema/SemaOverload.cpp | 16 |
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(); |

