OSDN Git Service

* include/backward/hashtable.h (clear): Return quickly if the
authorian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 30 Mar 2009 21:45:51 +0000 (21:45 +0000)
committerian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 30 Mar 2009 21:45:51 +0000 (21:45 +0000)
table is empty.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@145318 138bc75d-0d04-0410-961f-82ee72b054a4

libstdc++-v3/ChangeLog
libstdc++-v3/include/backward/hashtable.h

index 0c51edb..6b47446 100644 (file)
@@ -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.
 2009-03-27  Ian Lance Taylor  <iant@google.com>
 
        * include/backward/hashtable.h (_S_num_primes): Change to 29.
index c0981ee..e0ba83b 100644 (file)
@@ -1076,6 +1076,9 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
     hashtable<_Val, _Key, _HF, _Ex, _Eq, _All>::
     clear()
     {
     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];
       for (size_type __i = 0; __i < _M_buckets.size(); ++__i)
        {
          _Node* __cur = _M_buckets[__i];