summaryrefslogtreecommitdiffstats
path: root/clang/lib
diff options
context:
space:
mode:
authorSteven Wu <stevenwu@apple.com>2018-05-24 01:01:43 +0000
committerSteven Wu <stevenwu@apple.com>2018-05-24 01:01:43 +0000
commit49d7c2f597dea4a6398c43217660a2106496f5dc (patch)
tree9b522f4949d1caf3553a7e0959b410e6413913ef /clang/lib
parentb0b67b07f5f3660668cf4852f7bc3457518729cd (diff)
downloadbcm5719-llvm-49d7c2f597dea4a6398c43217660a2106496f5dc.tar.gz
bcm5719-llvm-49d7c2f597dea4a6398c43217660a2106496f5dc.zip
[Sema][ObjC] Do not DiagnoseUseOfDecl in LookupMemberExpr
Summary: Remove the call to DiagnoseUseOfDecl in LookupMemberExpr because: 1. LookupMemberExpr eagerly lookup both getter and setter, reguardless if they are used or not. It causes wrong diagnostics if you are only using getter. 2. LookupMemberExpr only diagnoses getter, but not setter. 3. ObjCPropertyOpBuilder already DiagnoseUseOfDecl when building getter and setter. Doing it again in LookupMemberExpr causes duplicated diagnostics. rdar://problem/38479756 Reviewers: erik.pilkington, arphaman, doug.gregor Reviewed By: arphaman Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D47280 llvm-svn: 333148
Diffstat (limited to 'clang/lib')
-rw-r--r--clang/lib/Sema/SemaExprMember.cpp3
1 files changed, 0 insertions, 3 deletions
diff --git a/clang/lib/Sema/SemaExprMember.cpp b/clang/lib/Sema/SemaExprMember.cpp
index c91b15e29fc..3a8fee862c9 100644
--- a/clang/lib/Sema/SemaExprMember.cpp
+++ b/clang/lib/Sema/SemaExprMember.cpp
@@ -1490,9 +1490,6 @@ static ExprResult LookupMemberExpr(Sema &S, LookupResult &R,
}
if (ObjCMethodDecl *OMD = dyn_cast<ObjCMethodDecl>(PMDecl)) {
- // Check the use of this method.
- if (S.DiagnoseUseOfDecl(OMD, MemberLoc))
- return ExprError();
Selector SetterSel =
SelectorTable::constructSetterSelector(S.PP.getIdentifierTable(),
S.PP.getSelectorTable(),
OpenPOWER on IntegriCloud