summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaExprMember.cpp
diff options
context:
space:
mode:
authorFaisal Vali <faisalv@yahoo.com>2017-08-27 19:00:08 +0000
committerFaisal Vali <faisalv@yahoo.com>2017-08-27 19:00:08 +0000
commit55bc389aeb2495163b21559da5816f776a4bb16a (patch)
treee1f5d1e0cf869236babacfb2019308002256737b /clang/lib/Sema/SemaExprMember.cpp
parent6fd8839ab9d3f1810a8a96ef9b01ebb165b92014 (diff)
downloadbcm5719-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.cpp14
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;
OpenPOWER on IntegriCloud