summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2010-03-26 22:59:39 +0000
committerDouglas Gregor <dgregor@apple.com>2010-03-26 22:59:39 +0000
commit4667effa8bdd9df81e51e1e3219c7cd0f525af58 (patch)
treef90f318e85822132ac5c43ecc76d7e853d5f4dbb /clang/lib/Sema
parent0f250e4c5be629d58fe833a9e18585a19a29c19d (diff)
downloadbcm5719-llvm-4667effa8bdd9df81e51e1e3219c7cd0f525af58.tar.gz
bcm5719-llvm-4667effa8bdd9df81e51e1e3219c7cd0f525af58.zip
Compare namespaces properly when looking for redeclarations of
namespace aliases. Fixes PR6341. llvm-svn: 99664
Diffstat (limited to 'clang/lib/Sema')
-rw-r--r--clang/lib/Sema/SemaDeclCXX.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaDeclCXX.cpp b/clang/lib/Sema/SemaDeclCXX.cpp
index 1b4710e3d08..b5dc7305228 100644
--- a/clang/lib/Sema/SemaDeclCXX.cpp
+++ b/clang/lib/Sema/SemaDeclCXX.cpp
@@ -3736,8 +3736,10 @@ Sema::DeclPtrTy Sema::ActOnNamespaceAliasDef(Scope *S,
if (NamespaceAliasDecl *AD = dyn_cast<NamespaceAliasDecl>(PrevDecl)) {
// We already have an alias with the same name that points to the same
// namespace, so don't create a new one.
+ // FIXME: At some point, we'll want to create the (redundant)
+ // declaration to maintain better source information.
if (!R.isAmbiguous() && !R.empty() &&
- AD->getNamespace() == getNamespaceDecl(R.getFoundDecl()))
+ AD->getNamespace()->Equals(getNamespaceDecl(R.getFoundDecl())))
return DeclPtrTy();
}
OpenPOWER on IntegriCloud