summaryrefslogtreecommitdiffstats
path: root/libcxx/include
diff options
context:
space:
mode:
authorAlexis Hunt <alercah@gmail.com>2011-07-30 00:18:12 +0000
committerAlexis Hunt <alercah@gmail.com>2011-07-30 00:18:12 +0000
commit9663c8cb15893ae3d052538a03b1d1b3fa4656d6 (patch)
tree83cf60b618f83807b64b1fa6e2a6fe0a74d6803b /libcxx/include
parent241bf43919c5eda49c7d2f7ae905052f5c9e4cf5 (diff)
downloadbcm5719-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_table1
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();
OpenPOWER on IntegriCloud