================
@@ -1072,6 +1073,69 @@ getAPINotesParameterSelectorCandidates(const Sema &S, 
const FunctionDecl *FD) {
   return Candidates;
 }
 
+static api_notes::APINotesFunctionSelectorKey
+getBroadAPINotesSelectorKey(api_notes::APINotesFunctionSelectorKey Key) {
+  Key.ParameterTypeIDs = std::nullopt;
----------------
StoeckOverflow wrote:

This was deriving the diagnostic’s name-level key from an exact selector key. A 
raw name comparison is not enough, because the same name can appear in 
different API-notes contexts or tables. So the diagnostic key must keep the 
parent context and API-notes table kind, but drop only the overload selector.

In the latest update I moved this behind 
`APINotesFunctionSelectorKey::getWithoutParameterSelector()`, which now 
constructs the name-level key directly instead of copying the exact key and 
clearing `ParameterTypeIDs` in `SemaAPINotes.cpp`.

https://github.com/llvm/llvm-project/pull/209408
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to