diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2013-12-05 04:30:04 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2013-12-05 04:30:04 +0000 |
commit | ecd4ae9e89f6e216cf6bf9fe08ad04901ecca631 (patch) | |
tree | 4651fa9726451c2ef3c54a250073f3fb1fa24833 /lib/Sema/IdentifierResolver.cpp | |
parent | 97f18688f35fc57e6edeebde05b28b8ac963e651 (diff) | |
download | clang-ecd4ae9e89f6e216cf6bf9fe08ad04901ecca631.tar.gz |
Per [dcl.meaning]p1, a name in an inline namespace can be redeclared using a
name from the enclosing namespace set if the name is specified as a
qualified-id.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@196464 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema/IdentifierResolver.cpp')
-rw-r--r-- | lib/Sema/IdentifierResolver.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/lib/Sema/IdentifierResolver.cpp b/lib/Sema/IdentifierResolver.cpp index 6e354b9060..2298f3ad68 100644 --- a/lib/Sema/IdentifierResolver.cpp +++ b/lib/Sema/IdentifierResolver.cpp @@ -95,7 +95,7 @@ IdentifierResolver::~IdentifierResolver() { /// if 'D' is in Scope 'S', otherwise 'S' is ignored and isDeclInScope returns /// true if 'D' belongs to the given declaration context. bool IdentifierResolver::isDeclInScope(Decl *D, DeclContext *Ctx, Scope *S, - bool ExplicitInstantiationOrSpecialization) const { + bool AllowInlineNamespace) const { Ctx = Ctx->getRedeclContext(); if (Ctx->isFunctionOrMethod() || S->isFunctionPrototypeScope()) { @@ -131,9 +131,8 @@ bool IdentifierResolver::isDeclInScope(Decl *D, DeclContext *Ctx, Scope *S, } DeclContext *DCtx = D->getDeclContext()->getRedeclContext(); - return ExplicitInstantiationOrSpecialization - ? Ctx->InEnclosingNamespaceSetOf(DCtx) - : Ctx->Equals(DCtx); + return AllowInlineNamespace ? Ctx->InEnclosingNamespaceSetOf(DCtx) + : Ctx->Equals(DCtx); } /// AddDecl - Link the decl to its shadowed decl chain. |