Index: clangd/index/CanonicalIncludes.cpp =================================================================== --- clangd/index/CanonicalIncludes.cpp +++ clangd/index/CanonicalIncludes.cpp @@ -87,31 +87,14 @@ } void addSystemHeadersMapping(CanonicalIncludes *Includes) { - static const std::vector> SymbolMap = { - // Map symbols in to their preferred includes. - {"std::basic_filebuf", ""}, - {"std::filebuf", ""}, - {"std::wfilebuf", ""}, - {"std::basic_istream", ""}, - {"std::istream", ""}, - {"std::wistream", ""}, - {"std::basic_ostream", ""}, - {"std::ostream", ""}, - {"std::wostream", ""}, - {"std::uint_least16_t", ""}, // redeclares these - {"std::uint_least32_t", ""}, #define SYMBOL(Name, NameSpace, Header) { #NameSpace#Name, #Header }, #include "StdSymbolMap.inc" #undef SYMBOL }; - for (const auto &Pair : SymbolMap) - Includes->addSymbolMapping(Pair.first, Pair.second); // FIXME: remove the std header mapping once we support ambiguous symbols, now // it serves as a fallback to disambiguate: // - symbols with mulitiple headers (e.g. std::move) - // - symbols with a primary template in one header and a specialization in - // another (std::abs) static const std::vector> SystemHeaderMap = { {"include/__stddef_max_align_t.h", ""},