diff options
author | Faisal Vali <faisalv@yahoo.com> | 2017-08-27 19:00:08 +0000 |
---|---|---|
committer | Faisal Vali <faisalv@yahoo.com> | 2017-08-27 19:00:08 +0000 |
commit | 55bc389aeb2495163b21559da5816f776a4bb16a (patch) | |
tree | e1f5d1e0cf869236babacfb2019308002256737b /clang/lib/Sema/SemaExprMember.cpp | |
parent | 6fd8839ab9d3f1810a8a96ef9b01ebb165b92014 (diff) | |
download | bcm5719-llvm-55bc389aeb2495163b21559da5816f776a4bb16a.tar.gz bcm5719-llvm-55bc389aeb2495163b21559da5816f776a4bb16a.zip |
revert changes from r311851.
The right answers here (and how clang needs to be tweaked) require further analysis (ongoing cwg thread).
sorry.
llvm-svn: 311855
Diffstat (limited to 'clang/lib/Sema/SemaExprMember.cpp')
-rw-r--r-- | clang/lib/Sema/SemaExprMember.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/clang/lib/Sema/SemaExprMember.cpp b/clang/lib/Sema/SemaExprMember.cpp index 3d182f4c69b..47b18dc39ea 100644 --- a/clang/lib/Sema/SemaExprMember.cpp +++ b/clang/lib/Sema/SemaExprMember.cpp @@ -102,15 +102,15 @@ static IMAKind ClassifyImplicitMemberAccess(Sema &SemaRef, bool hasNonInstance = false; bool isField = false; BaseSet Classes; - for (const NamedDecl *const D : R) { + for (NamedDecl *D : R) { + // Look through any using decls. + D = D->getUnderlyingDecl(); + if (D->isCXXInstanceMember()) { - // Look through any using decls. - const NamedDecl *const UnderlyingDecl = D->getUnderlyingDecl(); - isField |= isa<FieldDecl>(UnderlyingDecl) || - isa<MSPropertyDecl>(UnderlyingDecl) || - isa<IndirectFieldDecl>(UnderlyingDecl); + isField |= isa<FieldDecl>(D) || isa<MSPropertyDecl>(D) || + isa<IndirectFieldDecl>(D); - const CXXRecordDecl *R = cast<CXXRecordDecl>(D->getDeclContext()); + CXXRecordDecl *R = cast<CXXRecordDecl>(D->getDeclContext()); Classes.insert(R->getCanonicalDecl()); } else hasNonInstance = true; |