aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3
diff options
context:
space:
mode:
authorIan Lance Taylor <iant@google.com>2009-03-30 21:45:51 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2009-03-30 21:45:51 +0000
commit7db6438d78aa2a1dcf2a8f3bf454ee68402bfb95 (patch)
tree05ce4e52d2c387a61584103cd58676d87c83429b /libstdc++-v3
parent5a2df0fa12b59731751a1988af77125a290651cf (diff)
downloadgcc-7db6438d78aa2a1dcf2a8f3bf454ee68402bfb95.zip
gcc-7db6438d78aa2a1dcf2a8f3bf454ee68402bfb95.tar.gz
gcc-7db6438d78aa2a1dcf2a8f3bf454ee68402bfb95.tar.bz2
hashtable.h (clear): Return quickly if the table is empty.
* include/backward/hashtable.h (clear): Return quickly if the table is empty. From-SVN: r145318
Diffstat (limited to 'libstdc++-v3')
-rw-r--r--libstdc++-v3/ChangeLog5
-rw-r--r--libstdc++-v3/include/backward/hashtable.h3
2 files changed, 8 insertions, 0 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 0c51edb..6b47446 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,8 @@
+2009-03-30 Ian Lance Taylor <iant@google.com>
+
+ * include/backward/hashtable.h (clear): Return quickly if the
+ table is empty.
+
2009-03-27 Ian Lance Taylor <iant@google.com>
* include/backward/hashtable.h (_S_num_primes): Change to 29.
diff --git a/libstdc++-v3/include/backward/hashtable.h b/libstdc++-v3/include/backward/hashtable.h
index c0981ee..e0ba83b 100644
--- a/libstdc++-v3/include/backward/hashtable.h
+++ b/libstdc++-v3/include/backward/hashtable.h
@@ -1076,6 +1076,9 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
hashtable<_Val, _Key, _HF, _Ex, _Eq, _All>::
clear()
{
+ if (_M_num_elements == 0)
+ return;
+
for (size_type __i = 0; __i < _M_buckets.size(); ++__i)
{
_Node* __cur = _M_buckets[__i];