[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):
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).

  rG LLVM Github Monorepo



More information about the cfe-commits mailing list