[llvm-dev] [libcxx-dev] Removing deprecated <ext/hash_set>, <ext/hash_map> and <ext/__hash>

Joerg Sonnenberger via llvm-dev llvm-dev at lists.llvm.org
Wed Feb 6 12:56:52 PST 2019

On Wed, Feb 06, 2019 at 12:35:56PM -0500, Louis Dionne via llvm-dev wrote:
> What I'm trying to do here is understand whether and why
> __gnu_cxx::hash_map is special in that respect. Why was it put there
> in the first place? Why is it so hard to get rid of?

It was put in because it used to be very popular. Many programs later
moved to TR1 and then to C++11, but for a time there was no alternative
in STL. It is hard to get rid of it, because quite a bit code is still
around without active maintainer. It still serves a purpose, it more or
less works as is, so artifically breaking it just creates work for
little reason. Keep in mind that code like that is not *my* code. Please
don't pull the OpenSSL approach here where the API is randomly changed
because it can be changed and the patching of hundreds of existing
projects is left for others to figure out.


More information about the llvm-dev mailing list