================
@@ -14612,18 +14612,31 @@ static bool canBeDeclaredInNamespace(const
DeclarationName &Name) {
/// Attempt to recover from an ill-formed use of a non-dependent name in a
/// template, where the non-dependent name was declared after the template
-/// was defined. This is common in code written for a compilers which do not
+/// was defined. This is common in code written for compilers which do not
/// correctly implement two-stage name lookup.
///
/// Returns true if a viable candidate was found and a diagnostic was issued.
static bool DiagnoseTwoPhaseLookup(
Sema &SemaRef, SourceLocation FnLoc, const CXXScopeSpec &SS,
LookupResult &R, OverloadCandidateSet::CandidateSetKind CSK,
+ OverloadCandidateSet &KnownInvalidCandidateSet,
----------------
erichkeane wrote:
makes more sense at least, I'd be ok with that. `known invalid` threw me a
bunch, the difference between `the set is invalid` and `the candidates are
invalid` is a goofy one, and left me concerned that we were 'collecting'
candidates (along with the lack of `const`).
https://github.com/llvm/llvm-project/pull/222296
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits