[libcxx-commits] [PATCH] D120831: [libc++] Remove the deprecated <ext/hash_set> and <ext/hash_map>.
Arthur O'Dwyer via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Wed Mar 2 09:33:56 PST 2022
Quuxplusone created this revision.
Quuxplusone added reviewers: ldionne, philnik, libc++, howard.hinnant, EricWF, pcc.
Quuxplusone added a project: libc++.
Herald added subscribers: arichardson, mgorny.
Herald added a project: All.
Quuxplusone requested review of this revision.
Herald added a subscriber: libcxx-commits.
Herald added 1 blocking reviewer(s): libc++.
These have been deprecated since the initial import in 2010.
They can't be added into the modulemap at all, because (1) they depend on the setting of macro `__DEPRECATED` so they must be textual, but (2) they include detail headers like `ext/__hash` and `__algorithm/is_permutation.h` that aren't accessible to user code (and thus aren't accessible to textually-included headers either).
Well, "not accessible" merely means "triggers `-Wprivate-header`," which //could// be worked around (see D118616 <https://reviews.llvm.org/D118616>), but my thesis is that working around it would be uglier, and just killing off these deprecated headers once and for all would be nicer, as long as we agree we can get away with it.
This is also an application of my mantra "If it isn't tested, it doesn't work." Notice the removed tests: they don't actually test much of anything. So we have no idea whether this code actually works.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D120831
Files:
libcxx/include/CMakeLists.txt
libcxx/include/ext/__hash
libcxx/include/ext/hash_map
libcxx/include/ext/hash_set
libcxx/test/libcxx/clang_tidy.sh.cpp
libcxx/test/libcxx/containers/gnu_cxx/hash_map.pass.cpp
libcxx/test/libcxx/containers/gnu_cxx/hash_map_name_lookup.pass.cpp
libcxx/test/libcxx/containers/gnu_cxx/hash_set.pass.cpp
libcxx/test/libcxx/containers/gnu_cxx/hash_set_name_lookup.pass.cpp
libcxx/test/libcxx/double_include.sh.cpp
libcxx/test/libcxx/extensions/hash/specializations.compile.fail.cpp
libcxx/test/libcxx/extensions/hash/specializations.pass.cpp
libcxx/test/libcxx/extensions/hash_map/const_iterator.compile.fail.cpp
libcxx/test/libcxx/min_max_macros.compile.pass.cpp
libcxx/test/libcxx/nasty_macros.compile.pass.cpp
libcxx/test/libcxx/no_assert_include.compile.pass.cpp
libcxx/utils/generate_header_tests.py
libcxx/utils/graph_header_deps.py
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D120831.412456.patch
Type: text/x-patch
Size: 84774 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20220302/47e07152/attachment-0001.bin>
More information about the libcxx-commits
mailing list