diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2019-06-11 17:50:36 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2019-06-11 17:50:36 +0000 |
commit | 4bd25fda3f577f5c23687e7559a4f8af1d4db6c1 (patch) | |
tree | 813320a891524e52f4bbb168fb3e1dfb941b8277 /lib/Sema/SemaExprMember.cpp | |
parent | 3baecdc25147b80e37d07eb72d0e8beae72b601a (diff) | |
download | clang-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.cpp | 7 |
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; |