summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaExpr.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2010-06-29 19:27:42 +0000
committerDouglas Gregor <dgregor@apple.com>2010-06-29 19:27:42 +0000
commitc048c52734ec9ca4e58a7c2ebc5510e423f32ebe (patch)
treef83ea656bcc9aeb1422b08d08291e0924c44fd96 /clang/lib/Sema/SemaExpr.cpp
parentcccaad95847a4cfd024668de8e944e0dfcf28634 (diff)
downloadbcm5719-llvm-c048c52734ec9ca4e58a7c2ebc5510e423f32ebe.tar.gz
bcm5719-llvm-c048c52734ec9ca4e58a7c2ebc5510e423f32ebe.zip
When typo correction produces a result that is not of the kind we're
looking for, reset the name within the LookupResult structure in addition to clearing out the results. Fixes PR7508. llvm-svn: 107197
Diffstat (limited to 'clang/lib/Sema/SemaExpr.cpp')
-rw-r--r--clang/lib/Sema/SemaExpr.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaExpr.cpp b/clang/lib/Sema/SemaExpr.cpp
index e5c8e973c53..ae16d57870f 100644
--- a/clang/lib/Sema/SemaExpr.cpp
+++ b/clang/lib/Sema/SemaExpr.cpp
@@ -2620,6 +2620,7 @@ LookupMemberExprInRecord(Sema &SemaRef, LookupResult &R,
return false;
} else {
R.clear();
+ R.setLookupName(Name);
}
return false;
@@ -3080,6 +3081,9 @@ Sema::LookupMemberExpr(LookupResult &R, Expr *&BaseExpr,
IV->getNameAsString());
Diag(IV->getLocation(), diag::note_previous_decl)
<< IV->getDeclName();
+ } else {
+ Res.clear();
+ Res.setLookupName(Member);
}
}
OpenPOWER on IntegriCloud