summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaDeclCXX.cpp
diff options
context:
space:
mode:
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>2008-05-09 23:39:43 +0000
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>2008-05-09 23:39:43 +0000
commitfa8e15bfa5341a06b5cd1042a49e04708d6e2140 (patch)
tree6035142f07a01c7562805cd3647dd601b041712a /clang/lib/Sema/SemaDeclCXX.cpp
parent867af2678fb238daa9f3fd820ed4a4698c8647fa (diff)
downloadbcm5719-llvm-fa8e15bfa5341a06b5cd1042a49e04708d6e2140.tar.gz
bcm5719-llvm-fa8e15bfa5341a06b5cd1042a49e04708d6e2140.zip
-Implement proper name lookup for namespaces.
-identifierResolver exposes an iterator interface to get all decls through the scope chain. -The semantic staff (checking IdentifierNamespace and Doug's checking for shadowed tags were moved out of IdentifierResolver and back into Sema. IdentifierResolver just gives an iterator for all reachable decls of an identifier. llvm-svn: 50923
Diffstat (limited to 'clang/lib/Sema/SemaDeclCXX.cpp')
-rw-r--r--clang/lib/Sema/SemaDeclCXX.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaDeclCXX.cpp b/clang/lib/Sema/SemaDeclCXX.cpp
index c3b6bce447a..f403858e752 100644
--- a/clang/lib/Sema/SemaDeclCXX.cpp
+++ b/clang/lib/Sema/SemaDeclCXX.cpp
@@ -335,7 +335,8 @@ Sema::DeclTy *Sema::ActOnStartNamespaceDef(Scope *NamespcScope,
LookupDecl(II, Decl::IDNS_Tag | Decl::IDNS_Ordinary, DeclRegionScope,
/*enableLazyBuiltinCreation=*/false);
- if (PrevDecl && DeclRegionScope->isDeclScope(PrevDecl)) {
+ if (PrevDecl &&
+ IdResolver.isDeclInScope(PrevDecl, CurContext, DeclRegionScope)) {
if (NamespaceDecl *OrigNS = dyn_cast<NamespaceDecl>(PrevDecl)) {
// This is an extended namespace definition.
// Attach this namespace decl to the chain of extended namespace
OpenPOWER on IntegriCloud