[PATCH] D127184: [clangd] Add <bits/ranges_algo.h> to header map
Nathan Ridge via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Jun 16 01:05:03 PDT 2022
nridge added a comment.
Thanks for taking the time to do a systematic review!
In D127184#3577165 <https://reviews.llvm.org/D127184#3577165>, @falbrechtskirchinger wrote:
> bits/mofunc_impl.h
I see this included from `bits/move_only_function.h`, so I think `<functional>` would make sense for it.
> bits/new_allocator.h
I see this included from `<experimental/memory_resource>`, we could add that. (There are a few more implementation headers in `experimental/bits` which are included by standard headers in `<experimental/...>` that we could consider adding.)
> bits/specfun.h
I see this included from `<cmath>`.
> I've seen `*.tcc` files being mapped and have identified the following missing files:
>
> bits/regex.tcc
> bits/regex_automaton.tcc
> bits/regex_compiler.tcc
> bits/regex_executor.tcc
> bits/regex_scanner.tcc
> bits/string_view.tcc
>
> Should these be added as well?
I think we can skip these as they only contain definitions, and code completion should choose the file containing the declaration.
================
Comment at: clang-tools-extra/clangd/index/CanonicalIncludes.cpp:197
{"bits/basic_string.tcc", "<string>"},
+ {"bits/boost_concept_check.h", "<numeric>"},
{"bits/char_traits.h", "<string>"},
----------------
The choice of `<numeric>` is pretty random here, as is already the case for `bits/concept_check.h`.
Given that these headers don't declare any standard symbols, only symbols which are pure libstdc++ implementation details, maybe we should just omit them from the list?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D127184/new/
https://reviews.llvm.org/D127184
More information about the cfe-commits
mailing list