diff options
author | Alexis Hunt <alercah@gmail.com> | 2011-07-30 00:18:12 +0000 |
---|---|---|
committer | Alexis Hunt <alercah@gmail.com> | 2011-07-30 00:18:12 +0000 |
commit | 9663c8cb15893ae3d052538a03b1d1b3fa4656d6 (patch) | |
tree | 83cf60b618f83807b64b1fa6e2a6fe0a74d6803b /libcxx/include | |
parent | 241bf43919c5eda49c7d2f7ae905052f5c9e4cf5 (diff) | |
download | bcm5719-llvm-9663c8cb15893ae3d052538a03b1d1b3fa4656d6.tar.gz bcm5719-llvm-9663c8cb15893ae3d052538a03b1d1b3fa4656d6.zip |
Destruct elements of hash tables when removing individual entries from
the hash_table. I think this is the correct solution to PR10507, but I'm
not sure since this is a little bit cargo-culted. Howard, please review.
llvm-svn: 136546
Diffstat (limited to 'libcxx/include')
-rw-r--r-- | libcxx/include/__hash_table | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/libcxx/include/__hash_table b/libcxx/include/__hash_table index d469b0808d0..2bd9597768d 100644 --- a/libcxx/include/__hash_table +++ b/libcxx/include/__hash_table @@ -1726,6 +1726,7 @@ template <class _Tp, class _Hash, class _Equal, class _Alloc> typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::__node_holder __hash_table<_Tp, _Hash, _Equal, _Alloc>::remove(const_iterator __p) _NOEXCEPT { + __node_traits::destroy(__node_alloc(), __p.operator->()); // current node __node_pointer __cn = const_cast<__node_pointer>(__p.__node_); size_type __bc = bucket_count(); |