diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2019-06-06 23:24:18 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2019-06-06 23:24:18 +0000 |
commit | 0f5e4884231254c5acaaafa9e0a55e554ef67f73 (patch) | |
tree | e0d3691d64edb789f09c3b4b818e853153a0aa57 /lib/Sema/SemaOverload.cpp | |
parent | ae3e0f386d742bffcf5b5e79dc0157f4c34571e2 (diff) | |
download | clang-0f5e4884231254c5acaaafa9e0a55e554ef67f73.tar.gz |
Factor out duplicated code building a MemberExpr and marking it
referenced.
This reinstates r362563, reverted in r362597.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@362757 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema/SemaOverload.cpp')
-rw-r--r-- | lib/Sema/SemaOverload.cpp | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/lib/Sema/SemaOverload.cpp b/lib/Sema/SemaOverload.cpp index 30d809ac91..4bc725f4cf 100644 --- a/lib/Sema/SemaOverload.cpp +++ b/lib/Sema/SemaOverload.cpp @@ -13912,14 +13912,11 @@ Expr *Sema::FixOverloadedFunctionReference(Expr *E, DeclAccessPair Found, type = Context.BoundMemberTy; } - MemberExpr *ME = MemberExpr::Create( - Context, Base, MemExpr->isArrow(), MemExpr->getOperatorLoc(), + return BuildMemberExpr( + Base, MemExpr->isArrow(), MemExpr->getOperatorLoc(), MemExpr->getQualifierLoc(), MemExpr->getTemplateKeywordLoc(), Fn, Found, - MemExpr->getMemberNameInfo(), TemplateArgs, type, valueKind, - OK_Ordinary); - ME->setHadMultipleCandidates(true); - MarkMemberReferenced(ME); - return ME; + /*HadMultipleCandidates=*/true, MemExpr->getMemberNameInfo(), + type, valueKind, OK_Ordinary, TemplateArgs); } llvm_unreachable("Invalid reference to overloaded function"); |