llvm
01cf792d - [clang] Fix conflicting declaration error with using_if_exists (#167646)

Commit
21 hours ago
[clang] Fix conflicting declaration error with using_if_exists (#167646) This fixes an issue with using_if_exists where we would hit `conflicts with target of using declaration already in scope` with a using_if_exists attribute referring to a declaration which did not exist. That is, if we have `using ::bar __attribute__((using_if_exists))` but `bar` is not in the global namespace, then nothing should actually be declared here. This PR contains the following changes: 1. Ensure we only diagnose this error if the target decl and [Non]Tag decl can be substitutes for each other. 2. Prevent LookupResult from considering UnresolvedUsingIfExistsDecls in the event of ambiguous results. 3. Update tests. This includes the minimal repo for a regression test, and changes to existing tests which also seem to exhibit this bug. Fixes #85335 --------- Co-authored-by: Petr Hosek <phosek@google.com>
Author
Parents
Loading