================ @@ -2525,6 +3589,10 @@ SYMBOL(remainderf, None, <math.h>) SYMBOL(remainderl, std::, <cmath>) SYMBOL(remainderl, None, <cmath>) SYMBOL(remainderl, None, <math.h>) +SYMBOL(remove, std::, <cstdio>) +SYMBOL(remove, std::, <algorithm>) ---------------- kadircet wrote:
so we mainly had two reasons for multiple headers per symbol: - Alternative headers that provide it (like `std::rend`), making sure we have the most common header as the first header is a good enough solution (which you already handle with this patch). - Completely unrelated symbols, that happened to have the same name (like `std::remove` here). Unfortunately these are ambiguous and picking any would be wrong (e.g. we'll keep inserting cstdio when a user is actually modifying a container with std::remove rather than deleting files). I think these two cases can be distinguished by checking whether we acquired all the headers from the same symbol page or a different one. We should still make sure we're dropping all the symbol names that showed up in multiple pages and only preserve symbols that showed up once. WDYT? https://github.com/llvm/llvm-project/pull/147720 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits