diff options
Diffstat (limited to 'clang/lib/Sema/IdentifierResolver.cpp')
-rw-r--r-- | clang/lib/Sema/IdentifierResolver.cpp | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/clang/lib/Sema/IdentifierResolver.cpp b/clang/lib/Sema/IdentifierResolver.cpp index 18e78a0d170..08c9bdeb319 100644 --- a/clang/lib/Sema/IdentifierResolver.cpp +++ b/clang/lib/Sema/IdentifierResolver.cpp @@ -60,8 +60,7 @@ DeclContext *IdentifierResolver::LookupContext::getContext(Decl *D) { else return TUCtx(); - while (Ctx->isTransparentContext()) - Ctx = Ctx->getParent(); + Ctx = Ctx->getLookupContext(); if (isa<TranslationUnitDecl>(Ctx)) return TUCtx(); @@ -132,8 +131,7 @@ IdentifierResolver::~IdentifierResolver() { /// true if 'D' belongs to the given declaration context. bool IdentifierResolver::isDeclInScope(Decl *D, DeclContext *Ctx, ASTContext &Context, Scope *S) const { - while (Ctx->isTransparentContext()) - Ctx = Ctx->getParent(); + Ctx = Ctx->getLookupContext(); if (Ctx->isFunctionOrMethod()) { // Ignore the scopes associated within transparent declaration contexts. |