summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaExprMember.cpp
diff options
context:
space:
mode:
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