diff options
Diffstat (limited to 'lib/Sema/SemaOverload.cpp')
-rw-r--r-- | lib/Sema/SemaOverload.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/lib/Sema/SemaOverload.cpp b/lib/Sema/SemaOverload.cpp index 44eb184a36..8b5a72de36 100644 --- a/lib/Sema/SemaOverload.cpp +++ b/lib/Sema/SemaOverload.cpp @@ -5001,10 +5001,15 @@ Sema::OwningExprResult Sema::CreateOverloadedUnaryOp(SourceLocation OpLoc, return ExprError(); } else { // Convert the arguments. - if (PerformCopyInitialization(Input, - FnDecl->getParamDecl(0)->getType(), - AA_Passing)) + input = PerformCopyInitialization( + InitializedEntity::InitializeParameter( + FnDecl->getParamDecl(0)), + SourceLocation(), + move(input)); + if (input.isInvalid()) return ExprError(); + + Input = (Expr *)input.get(); } // Determine the result type |