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 /clang | |
| parent | aedd6f5b3325ef185647e0e565abd22c59b4e7c7 (diff) | |
| download | bcm5719-llvm-a68e51e3a1803cc2a85fd9148484acaf3c68440e.tar.gz bcm5719-llvm-a68e51e3a1803cc2a85fd9148484acaf3c68440e.zip  | |
Another PerformCopyInitialization call bites the dust.
llvm-svn: 94823
Diffstat (limited to 'clang')
| -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();  | 

