diff options
Diffstat (limited to 'lib/Sema/SemaOverload.cpp')
-rw-r--r-- | lib/Sema/SemaOverload.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/lib/Sema/SemaOverload.cpp b/lib/Sema/SemaOverload.cpp index 4bc725f4cf..30d809ac91 100644 --- a/lib/Sema/SemaOverload.cpp +++ b/lib/Sema/SemaOverload.cpp @@ -13912,11 +13912,14 @@ Expr *Sema::FixOverloadedFunctionReference(Expr *E, DeclAccessPair Found, type = Context.BoundMemberTy; } - return BuildMemberExpr( - Base, MemExpr->isArrow(), MemExpr->getOperatorLoc(), + MemberExpr *ME = MemberExpr::Create( + Context, Base, MemExpr->isArrow(), MemExpr->getOperatorLoc(), MemExpr->getQualifierLoc(), MemExpr->getTemplateKeywordLoc(), Fn, Found, - /*HadMultipleCandidates=*/true, MemExpr->getMemberNameInfo(), - type, valueKind, OK_Ordinary, TemplateArgs); + MemExpr->getMemberNameInfo(), TemplateArgs, type, valueKind, + OK_Ordinary); + ME->setHadMultipleCandidates(true); + MarkMemberReferenced(ME); + return ME; } llvm_unreachable("Invalid reference to overloaded function"); |