summaryrefslogtreecommitdiff
path: root/lib/Sema/SemaExprMember.cpp
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2019-06-11 17:50:36 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2019-06-11 17:50:36 +0000
commit4bd25fda3f577f5c23687e7559a4f8af1d4db6c1 (patch)
tree813320a891524e52f4bbb168fb3e1dfb941b8277 /lib/Sema/SemaExprMember.cpp
parent3baecdc25147b80e37d07eb72d0e8beae72b601a (diff)
downloadclang-4bd25fda3f577f5c23687e7559a4f8af1d4db6c1.tar.gz
For DR712: store on a MemberExpr whether it constitutes an odr-use.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@363087 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema/SemaExprMember.cpp')
-rw-r--r--lib/Sema/SemaExprMember.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/Sema/SemaExprMember.cpp b/lib/Sema/SemaExprMember.cpp
index f7b46a5e0f..2431f96fb3 100644
--- a/lib/Sema/SemaExprMember.cpp
+++ b/lib/Sema/SemaExprMember.cpp
@@ -913,9 +913,10 @@ MemberExpr *Sema::BuildMemberExpr(
QualType Ty, ExprValueKind VK, ExprObjectKind OK,
const TemplateArgumentListInfo *TemplateArgs) {
assert((!IsArrow || Base->isRValue()) && "-> base must be a pointer rvalue");
- MemberExpr *E = MemberExpr::Create(Context, Base, IsArrow, OpLoc, NNS,
- TemplateKWLoc, Member, FoundDecl,
- MemberNameInfo, TemplateArgs, Ty, VK, OK);
+ MemberExpr *E =
+ MemberExpr::Create(Context, Base, IsArrow, OpLoc, NNS, TemplateKWLoc,
+ Member, FoundDecl, MemberNameInfo, TemplateArgs, Ty,
+ VK, OK, getNonOdrUseReasonInCurrentContext(Member));
E->setHadMultipleCandidates(HadMultipleCandidates);
MarkMemberReferenced(E);
return E;