VitaNuo added inline comments.
================
Comment at: clang/tools/include-mapping/cppreference_parser.py:174
- # std::remove<> has variant algorithm.
- "std::remove": ("algorithm"),
- }
----------------
kadircet wrote:
> this is actually checking for something else (sorry for the confusing naming).
>
> the `variant` here refers to library name mentioned in parentheses (this is
> same problem as `std::move`) on the std symbol index page
> https://en.cppreference.com/w/cpp/symbol_index (e.g. `remove<>()
> (algorithm)`). by getting rid of this we're introducing a regression, as
> previously `std::remove` wouldn't be recognized by the library, but now it'll
> be recognized and we'll keep suggesting `<cstdio>` for it.
>
> so we should actually keep this around.
Ok, I can keep this out of this patch, but we'll have to remove this logic
evetually when we deal with overloads.
I have a slight suspicion that this code might be buggy, because it suggests
that one _of_ the variants should be accepted. What is does in reality, though,
is it keeps `algorithm` in the list of headers suitable for `std::remove`
alongside `cstdio`, and then in the last step `std::remove` is ignored by the
generator because of being defined in two headers.
With this patch, the result will be both `{cstdio, algorithm}`. Is this (more)
satisfactory for now compared to skipping `algorithm` due to being an overload?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D142092/new/
https://reviews.llvm.org/D142092
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits