summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaExpr.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2010-07-28 22:27:52 +0000
committerDouglas Gregor <dgregor@apple.com>2010-07-28 22:27:52 +0000
commita9c3e827554f98d3caf8f40f1fcfa8fdc47638e6 (patch)
tree47dc2ebe35a3ef1c2c58375e8c92a41165270454 /clang/lib/Sema/SemaExpr.cpp
parent4c1e484f39490d1fcb96369ecfb242e0ce17787d (diff)
downloadbcm5719-llvm-a9c3e827554f98d3caf8f40f1fcfa8fdc47638e6.tar.gz
bcm5719-llvm-a9c3e827554f98d3caf8f40f1fcfa8fdc47638e6.zip
Don't die when a member access refers to a non-class member via a
qualified name. Fixes <rdar://problem/8231724>. llvm-svn: 109682
Diffstat (limited to 'clang/lib/Sema/SemaExpr.cpp')
-rw-r--r--clang/lib/Sema/SemaExpr.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaExpr.cpp b/clang/lib/Sema/SemaExpr.cpp
index fa2b65b2deb..b2f1a356dfb 100644
--- a/clang/lib/Sema/SemaExpr.cpp
+++ b/clang/lib/Sema/SemaExpr.cpp
@@ -2632,6 +2632,9 @@ bool Sema::CheckQualifiedMemberReference(Expr *BaseExpr,
while (DC->isTransparentContext())
DC = DC->getParent();
+ if (!DC->isRecord())
+ continue;
+
llvm::SmallPtrSet<CXXRecordDecl*,4> MemberRecord;
MemberRecord.insert(cast<CXXRecordDecl>(DC)->getCanonicalDecl());
OpenPOWER on IntegriCloud