diff options
Diffstat (limited to 'lib/Sema/SemaOverload.cpp')
-rw-r--r-- | lib/Sema/SemaOverload.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/Sema/SemaOverload.cpp b/lib/Sema/SemaOverload.cpp index 361bc865d7..24cad2a9c5 100644 --- a/lib/Sema/SemaOverload.cpp +++ b/lib/Sema/SemaOverload.cpp @@ -6318,8 +6318,14 @@ Sema::BuildCallToObjectOfClassType(Scope *S, Expr *Object, Arg = Args[i]; // Pass the argument. - QualType ProtoArgType = Proto->getArgType(i); - IsError |= PerformCopyInitialization(Arg, ProtoArgType, AA_Passing); + + OwningExprResult InputInit + = PerformCopyInitialization(InitializedEntity::InitializeParameter( + Method->getParamDecl(i)), + SourceLocation(), Owned(Arg)); + + IsError |= InputInit.isInvalid(); + Arg = InputInit.takeAs<Expr>(); } else { OwningExprResult DefArg = BuildCXXDefaultArgExpr(LParenLoc, Method, Method->getParamDecl(i)); |