diff options
Diffstat (limited to 'clang/lib/Sema/SemaExpr.cpp')
| -rw-r--r-- | clang/lib/Sema/SemaExpr.cpp | 8 | 
1 files changed, 4 insertions, 4 deletions
| diff --git a/clang/lib/Sema/SemaExpr.cpp b/clang/lib/Sema/SemaExpr.cpp index 4183ea3394d..fa2b65b2deb 100644 --- a/clang/lib/Sema/SemaExpr.cpp +++ b/clang/lib/Sema/SemaExpr.cpp @@ -2628,12 +2628,12 @@ bool Sema::CheckQualifiedMemberReference(Expr *BaseExpr,        return false;      // Note that we use the DC of the decl, not the underlying decl. -    CXXRecordDecl *RecordD = cast<CXXRecordDecl>((*I)->getDeclContext()); -    while (RecordD->isAnonymousStructOrUnion()) -      RecordD = cast<CXXRecordDecl>(RecordD->getParent()); +    DeclContext *DC = (*I)->getDeclContext(); +    while (DC->isTransparentContext()) +      DC = DC->getParent();      llvm::SmallPtrSet<CXXRecordDecl*,4> MemberRecord; -    MemberRecord.insert(RecordD->getCanonicalDecl()); +    MemberRecord.insert(cast<CXXRecordDecl>(DC)->getCanonicalDecl());      if (!IsProvablyNotDerivedFrom(*this, BaseRecord, MemberRecord))        return false; | 

