[PATCH] D60956: [Sema] Fix the lookup for a declaration conflicting with an enumerator (bogus use of LookupResult::getAsSingle)
Bruno Ricci via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Mon Apr 22 05:08:42 PDT 2019
riccibruno marked an inline comment as done.
riccibruno added inline comments.
================
Comment at: lib/Sema/SemaDecl.cpp:16607
+ // Check for other kinds of shadowing not already handled.
+ if (PrevDecl && isa<ValueDecl>(PrevDecl->getUnderlyingDecl()) &&
+ !TheEnumDecl->isScoped())
----------------
aaron.ballman wrote:
> Is the change to `PrevDecl->getUnderlyingDecl()` intended here?
Yes it is. Previously it was done inside `LookupResult::getAsSingle`. However with this patch `PrevDecl` at this point can be a `UsingShadowDecl` for a given using-declaration. We need to look for the underlying declaration since this is what `CheckShadow` expects.
Repository:
rC Clang
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D60956/new/
https://reviews.llvm.org/D60956
More information about the cfe-commits
mailing list