summaryrefslogtreecommitdiffstats
path: root/clang/lib
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2009-12-21 01:42:38 +0000
committerEli Friedman <eli.friedman@gmail.com>2009-12-21 01:42:38 +0000
commit9025ec2ee55bf8098f928c2f55e2316c861fcb55 (patch)
treec89cfea6fad81efc66999f90f44c13e535fa3f5b /clang/lib
parenta26001bf96b52e24d4f1020f75d849f45ca513d9 (diff)
downloadbcm5719-llvm-9025ec2ee55bf8098f928c2f55e2316c861fcb55.tar.gz
bcm5719-llvm-9025ec2ee55bf8098f928c2f55e2316c861fcb55.zip
Fix for PR5840: fix the kind of name lookup used for classes in
Sema::getTypeName. "LookupNestedNameSpecifierName" isn't quite the right kind of lookup, though; it doesn't ignore namespaces. Someone more familiar with the lookup code should fix this properly. llvm-svn: 91809
Diffstat (limited to 'clang/lib')
-rw-r--r--clang/lib/Sema/SemaDecl.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/clang/lib/Sema/SemaDecl.cpp b/clang/lib/Sema/SemaDecl.cpp
index f087bcb95cf..d83f8527486 100644
--- a/clang/lib/Sema/SemaDecl.cpp
+++ b/clang/lib/Sema/SemaDecl.cpp
@@ -106,8 +106,12 @@ Sema::TypeTy *Sema::getTypeName(IdentifierInfo &II, SourceLocation NameLoc,
if (!LookupCtx->isDependentContext() && RequireCompleteDeclContext(*SS))
return 0;
}
-
- LookupResult Result(*this, &II, NameLoc, LookupOrdinaryName);
+
+ // FIXME: LookupNestedNameSpecifierName isn't the right kind of
+ // lookup for class-names.
+ LookupNameKind Kind = isClassName ? LookupNestedNameSpecifierName :
+ LookupOrdinaryName;
+ LookupResult Result(*this, &II, NameLoc, Kind);
if (LookupCtx) {
// Perform "qualified" name lookup into the declaration context we
// computed, which is either the type of the base of a member access
OpenPOWER on IntegriCloud