[PATCH] D114724: [clangd][StdSymbolMap] Prefer std::remove from algorithm

Sam McCall via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Nov 29 13:58:50 PST 2021


sammccall added inline comments.


================
Comment at: clang-tools-extra/clangd/StdSymbolMap.inc:958
 SYMBOL(remainder, std::, <cmath>)
-SYMBOL(remove, std::, <cstdio>)
 SYMBOL(remove_all_extents, std::, <type_traits>)
----------------
Is the stdio version so uncommon we are willing to be wrong about it? For `move` we omit it from here and consider it case-by-case, I'd have imagined doing the same here 

(BTW at some point we may want to extend this to list alternative headers for ambiguous symbols)


================
Comment at: clang-tools-extra/clangd/include-mapping/cppreference_parser.py:138
       # FIXME: use these as a fallback rather than ignoring entirely.
-      if variant:
+      if variant != (namespace+symbol_name in variants_to_accept):
         continue
----------------
This logic seems a bit weird and non-general: it allows us to accept any variant and reject any non-variant, but it doesn't allow us to accept a*specific* variant (they are named) and doesn't allow us to accept both (which currently would lead to the symbol being dropped as ambiguous).


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114724/new/

https://reviews.llvm.org/D114724



More information about the cfe-commits mailing list