================
@@ -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